此代码是否与Oauth 2.0兼容?

时间:2011-09-28 13:31:23

标签: facebook-graph-api oauth facebook oauth-2.0

Facebook宣布所有应用必须在2011年10月1日之前迁移到OAuth 2.0

  

2011年10月1日OAuth 2.0迁移正如我们在5月宣布的所有应用程序一样   必须迁移到OAuth 2.0进行身份验证并期望加密   访问令牌。旧的SDK,包括旧的JS SDK和旧的iOS SDK   将不再有效。

在此处阅读更多内容:https://developers.facebook.com/docs/oauth2-https-migration/

现在我对所有不同的流程和版本感到困惑。我有一个简单的身份验证,看起来基本上就像这样(我剥离了非必要的部分)

    ## setup ###

    $url = "https://graph.facebook.com/oauth/authorize?client_id=".$this->appid."&redirect_uri=".$myurl;
    header("Location: $url");
    exit();     

当用户返回时......

    ## authentication check ##

    $code = isset($_GET["code"]) ? $_GET["code"] : false;
    if(!$code) {
        // user has not authenticated yet, lets return false so setup redirects him to facebook
        return false;
    }
    $url = "https://graph.facebook.com/oauth/access_token?client_id=".$this->appid."&redirect_uri=";
    $redirecturl = urlencode($redirecturl);     
    $url .= $redirecturl;
    $url .= "&client_secret=".$this->secret;
    $url .= "&code=".$code;
    $data = $this->get_data($url); // fetches content over https

    parse_str($data,$data);
    $token = $data['access_token'];
    $data = $this->get_data('https://graph.facebook.com/me?access_token='.urlencode($token));
    $data = json_decode($data);

    $id = $data->id;

    if($id > 0) {

        // yeah authenticated!

    } else {
        // login failed
    }

这种方法是否已准备好进行强制迁移?

1 个答案:

答案 0 :(得分:0)

简短回答......这是..................