5

WindowsLiveからこのエラーを受け取り続けます

入力パラメーター'redirect_uri'に指定された値が無効です。期待される値は「https://login.live.com/oauth20_desktop.srf」またはリダイレクトに一致するURLです

このエラーが発生し続けるのはなぜですか。WindowsLive開発者アプリでドメインを設定しています

私が持っている<head>要素に

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

私が持っている<body>要素のすぐ下

  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);
            });

});
4

1 に答える 1

4

liveredirect_uriが正確http://www.yourdomain.comである必要があり、そうではないことが判明しましたhttp://yourdomain.com。したがって、ユーザーが入力するhttp://yourdomain.comとこのエラーが表示されますが、ユーザーが入力http://www.yourdomain.comするとスクリプトは機能します。

私はFacebookApiに非常に甘やかされてきたと思います。

したがって、最終的には、ログインボタンを使用して任意のURLと一致する正規表現を作成し、.htaccessを使用してwwwにするように強制しました。

于 2012-09-27T15:59:20.100 に答える