簡體   English   中英

Facebook應用程序身份驗證的PHP循環問題

[英]PHP loop issues with facebook app auth

我正在使用最新的PHP-SDK(3.11),當用戶第一次使用我的應用程序時遇到問題。 該應用程序產生無限循環。 當用戶必須授予應用程序權限時,他將被重定向到:

https://www.facebook.com/connect/uiserver.php?app_id=**myappId**&method=permissions.request&display=page&next=http%3A%2F%2Fapps.facebook.com%2F**myApp**%2F&response_type=code&state=**theSate**&canvas=1&perms=user_birthday%2Cuser_location%2Cuser_work_history%2Cuser_about_me%2Cuser_hometown

當他接受時,我將返回以下鏈接:

http://apps.facebook.com/**myApp**/?error_reason=user_denied&error=access_denied&error_description=***The+user+denied+your+request.***&state=**theSate**#_

我不明白為什么用戶單擊“允許”時拒絕訪問。

if ($this->fbUser) {
            .... Do Somthing
        } else {
            $this->loginUrl = $this->fb->facebook->getLoginUrl(array(
                        'scope' => implode(',', sfConfig::get('app_facebook_perms')
            ), 'next' => 'http://apps.facebook.com'. sfConfig::get('app_facebook_app_url')));


            $this->logMessage($this->loginUrl, 'info');
            sfConfig::set('sf_escaping_strategy', false);
        }

        <script type='text/javascript'>
            top.location.href = "echo $this->loginUrl ";
        </script>

嘗試這樣的操作,因為您需要以一種或另一種方式存儲訪問令牌。 從該片段很難知道您在做什么(或不做什么)。

<?php  
# We require the library  
require("facebook.php");  

# Creating the facebook object  
$facebook = new Facebook(array(  
    'appId'  => 'APP_ID_HERE',  
    'secret' => 'APP_SECRET_HERE',  
    'cookie' => true  
));  

# Let's see if we have an active session  
$session = $facebook->getUser();  

if(empty($session)) {  
    # There's no active session, let's generate one  
    $url = $facebook->getLoginUrl(array(  
        "response_type"=>"token", //Can also be "code" if you need to 
        "scope" => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos' , 
        "redirect_uri"=> "http://test.com" //Your app callback url 
    ));  
    header("Location: $url");  
    exit;  
}  
// user is logged in  

暫無
暫無

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

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