簡體   English   中英

如何在JavaScript中自定義Facebook OAuth對話框?

[英]How can I customize facebook oauth dialog in javascript?

我想更改頁面URL的位置,並且我強烈希望在單獨的窗口中打開權限請求對話框。

這是JavaScript im使用:

  <script>
        window.fbAsyncInit = function() {
  FB.init({
    appId      : 'XXXXXXXXXXXXXXX',
    status     : true, 
    cookie     : true,
    xfbml      : true
  });
};
    (function(d){
   var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/en_US/all.js";
   d.getElementsByTagName('head')[0].appendChild(js);
 }(document));
  </script>

單獨的窗口中顯示的對話框並非在所有瀏覽器中都顯示,這使IE瀏覽器...

PHP:

 // Create our Application instance (replace this with your appId and secret).
    $facebook = new Facebook(array(
      'appId'  => 'XXXXXXXXXXXXXXXXXXXXXXXXX',
      'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
    ));

    // Get User ID
    $user = $facebook->getUser();

    if ($user) { 
      try {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
      } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
      }
    }

    //  n or logout url will be needed depending on current user state.
    if ($user) {
      $logoutUrl = $facebook->getLogoutUrl();
    } else {
      $loginUrl = $facebook->getLoginUrl(   array(
           'scope' => 'publish_stream,user_birthday,email,offline_access',
           'next'  => 'LINK HERE',
          ));
    }

無需嘗試顛覆Facebook的JavaScript SDK,只需使用標准的OAuth身份驗證,該身份驗證可讓您將用戶重定向到身份驗證或權限對話框,而不會彈出JavaScript。

請參閱身份驗證文檔服務器端流程部分和OAuth對話框文檔中直接URL示例 請注意,后一文檔中的示例URL看起來與第二個屏幕截圖極為相似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM