简体   繁体   English

Twitter oAuth登录。 如何首次获取getAuthorizeURL(authorize),以及在用户授予权限后如何获取(身份验证)

[英]Twitter oAuth login. How to get getAuthorizeURL(authorize) for first time and (authenticate) once user has granted permissions

I am using Twitter oAuth PHP Library (by Abraham Williams) for login-using-twitter for my web-application. 我正在使用Twitter oAuth PHP库(由Abraham Williams创建)来为我的Web应用程序使用登录登录Twitter。

A.The Code model looks like this: 答:代码模型如下所示:

1.The Callback URL in twitter settings is set to : http://example.com/entrypoint/twitterlogin.php 1. Twitter设置中的回调URL设置为: http : //example.com/entrypoint/twitterlogin.php

2.The twitterlogin.php file
<?PHP
    if (empty($_GET['oauth_verifier'])){        
        $request_token = $twitteroauth->getRequestToken();
        $_SESSION['onetime_oauth_token'] = $request_token['oauth_token'];
        $_SESSION['onetime_oauth_token_secret'] = $request_token['oauth_token_secret'];
    }

    if (!empty($_GET['oauth_verifier']) && !empty($_SESSION['onetime_oauth_token']) && !empty($_SESSION['onetime_oauth_token_secret'])) {        
        $twitteroauth = new TwitterOAuth(YOUR_CONSUMER_KEY, YOUR_CONSUMER_SECRET, $_SESSION['onetime_oauth_token'], $_SESSION['onetime_oauth_token_secret']);        
        $access_token = $twitteroauth->getAccessToken($_GET['oauth_verifier']);        
        $GoesToDB = $access_token['oauth_token'];
        $GoesToDBS = $access_token['oauth_token_secret'];
        $user_info = $twitteroauth->get('account/verify_credentials');
        $GoesToDBArray = $user_info;
    }else{        
        if ($twitteroauth->http_code == 200) {
            //generates ~/authenticate?oauth_token=token
            $url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']);

            //generates ~/authorize?oauth_token=token
            //$url = $twitteroauth->getAuthorizeURL($request_token['oauth_token'], false);//when and how to use this
            exit(header("refresh:0;url=".$url));    
        } else {
            //some error handler        
        }
    }
?>

B.Expected behavior/results B.预期的行为/结果

  1. If the user is first time user then generate authorize url (~/authorize?oauth_token=token) 如果用户是第一次用户,则生成授权URL(〜/ authorize?oauth_token = token)
  2. Once the user has granted the permissions to the application generate authenticate url (~/authenticate?oauth_token=token) for future logins 一旦用户授予了对应用程序的权限,便会生成身份验证URL(〜/ authenticate?oauth_token = token),以供将来登录

C.Queries C.查询

  1. Is the approach correct for the expected behavior 该方法对预期行为是否正确
  2. Do i have ask the user to use authorize url if he is an first time user, else use the authenticate url(similar the signin and signup) 我是否已要求用户是否是首次使用用户使用授权url,否则是否使用身份验证url(类似于登录和注册)
  3. Is there way to check if the user has authorized the application using (onetime_oauth_token or something else) 有没有办法检查用户是否使用(onetime_oauth_token或其他方式)授权了应用程序

D.Thanking you in advance :) .. you are a life saviour. D.预先感谢您:) ..您是救生员。

用这个 -

$url = $twitteroauth->getAuthorizeURL($request_token['oauth_token'],TRUE);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM