2016-12-28 64 views
0

我是OAuth的新人,但因爲它看起來很有趣,我想看看它。我已閱讀並查看了一些教程,並瞭解基礎知識。我下載了這個BitBucket提供商:https://github.com/stevenmaguire/oauth2-bitbucket它使用這個客戶端:https://github.com/thephpleague/oauth2-clientOAuth 2.0設置AccessToken

我不明白的是:我如何設置accessToken?當url中沒有?代碼時,它將重定向並將其添加到url中,然後獲取accessToken和refreshToken,但是如何使用該accessToken?我試過一些東西,也$ provider-> setAccessToken(),但該函數不存在。

希望有人能幫助我。這可能很簡單,但我沒有看到它。

回答

1

您收到的訪問令牌不需要使用任何方法明確設置。有些方法可以獲取用戶的詳細信息,該訪問令牌應該作爲參數傳遞。至於寫在documentation您提供:

// Try to get an access token (using the authorization code grant) 
$token = $provider->getAccessToken('authorization_code', [ 
    'code' => $_GET['code'] 
]); 

// Optional: Now you have a token you can look up a users profile data 
try { 

    // We got an access token, let's now get the user's details 
    $user = $provider->getResourceOwner($token); 

    // Use these details to create a new profile 
    printf('Hello %s!', $user->getId()); 

} catch (Exception $e) { 

    // Failed to get user details 
    exit('Oh dear...'); 

這裏getResourceOwner方法應給予令牌和相關$令牌用戶詳細信息將被退回。