我一直从windows live
收到此错误输入参数'redirect_uri'的提供值不是 有效。预期值是 'https://login.live.com/oauth20_desktop.srf'或匹配的网址 重定向
为什么我一直收到此错误。我在windows live developer app中设置了域名
< head>中的我有
的元素<script src="//js.live.net/v5.0/wl.js"></script>
正好在&lt; body&gt;下面我有
的元素 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);
});
});
答案 0 :(得分:4)
问题是,windows-live redirect_uri必须完全http://www.yourdomain.com
而不是http://yourdomain.com
。
因此,如果用户输入http://yourdomain.com
,则会显示此错误,但如果用户有http://www.yourdomain.com
,则脚本可以正常工作。
我认为我对Facebook Api非常厌烦。
所以最后我只是使用登录按钮制作了一个正则表达式来匹配任何网址,并强制它为.htaccess的www。