Предоставленное значение для входного параметра 'redirect_uri' недопустимо

Я продолжаю получать эту ошибку из Windows Live

Предоставленное значение для входного параметра 'redirect_uri' недопустимо. Ожидаемое значение: "https://login.live.com/oauth20_desktop.srf" или URL-адрес, соответствующий перенаправлению.

Почему я продолжаю получать эту ошибку. У меня есть домен, установленный в приложении для разработчиков Windows Live

в элементе у меня есть

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

});

1 ответ

Решение

Проблема оказалась в том, что windows-live redirect_uri должна быть точно http://www.yourdomain.com и не http://yourdomain.com, Так что, если пользователь вводит http://yourdomain.com то эта ошибка покажет, но если у пользователя есть http://www.yourdomain.com тогда скрипт работает.

Я думаю, что я был очень избалован API Facebook.

Итак, в конце я просто сделал регулярное выражение для сопоставления с любым URL-адресом, используя кнопку входа в систему, и заставил его быть www с.htaccess.

Другие вопросы по тегам