2012-09-27 47 views
4

從窗戶住對輸入參數「REDIRECT_URI」提供的值是無效

提供的值的輸入參數「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); 
      }); 

}); 

回答

4

原來,這個問題是 REDIRECT_URI必須是準確http://www.yourdomain.com,而不是http://yourdomain.com。 因此,如果用戶輸入http://yourdomain.com,則會顯示此錯誤,但如果用戶有http://www.yourdomain.com,則該腳本有效。

我覺得我一直非常寵愛Facebook的API。

所以最後我只是做了一個正則表達式來匹配使用登錄按鈕的任何網址,並強制它與www .htaccess。

+1

也將http:// yourdomain.com而不是http:// www.yourdomain.com添加爲應用程序域@windows-live app部分允許使用這兩種類型的域名,但會導致cookie錯誤。 –