为输入参数 'redirect_uri' 提供的值无效



我一直从windows实时收到这个错误

为输入参数"redirect_uri"提供的值不是有效的预期值为'https://login.live.com/oauth20_desktop.srf'或匹配的URL重定向

为什么我一直收到这个错误。我在windows实时开发者应用中设置了域

在<头部>元素我有

<script src="//js.live.net/v5.0/wl.js"></script>

刚好低于<身体>元素我有

WL.init({
client_id: '{S_AL_WL_CLIENT_ID}', //{S_AL_WL_CLIENT_ID} = phpbb template variable for client_id
redirect_uri: '{AL_BOARD_URL}', //{AL_BOARD_URL} = phpbb template variable for the  urlencoded domain name
response_type: 'token',
scope: ["wl.signin", "wl.basic", "wl.birthday", "wl.emails", "wl.work_profile", "wl.postal_addresses"]
});

登录按钮是

<div id="login">
<a href="#"><img src="images/windows_live_connect.png" alt="Windows Live" /></a> 
</div>

侦听器

jQuery('#login a').click(function(e) 
{
e.preventDefault();
WL.login({
scope: ["wl.signin", "wl.basic", "wl.birthday", "wl.emails", "wl.work_profile", "wl.postal_addresses"]
}).then(function (response) 
{
//do something with stuff here. You know brainy type ajaxy stuff to auth a user
},
function (responseFailed) 
{
console.log("Error signing in: " + responseFailed.error_description);
});
});

问题是windows live redirect_uri必须是http://www.yourdomain.com,而不是http://yourdomain.com。因此,如果用户输入http://yourdomain.com,则会显示此错误,但如果用户输入了http://www.yourdomain.com,则脚本可以工作。

我想我已经被Facebook Api宠坏了。

因此,最后我只是使用登录按钮制作了一个正则表达式来匹配任何url,并强制它为www和.htaccess.

相关内容

  • 没有找到相关文章

最新更新