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

时间:2012-09-27 10:41:16

标签: javascript phpbb phpbb3 windows-live

我一直从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);
            });

});

1 个答案:

答案 0 :(得分:4)

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

我认为我对Facebook Api非常厌烦。

所以最后我只是使用登录按钮制作了一个正则表达式来匹配任何网址,并强制它为.htaccess的www。