【问题标题】:What is the correct way to store access token from OAuth callback从 OAuth 回调存储访问令牌的正确方法是什么
【发布时间】:2015-06-07 07:33:30
【问题描述】:

这是我代表 Facebook 用户获取访问令牌的工作代码:

@Override
public void receiveCallback() {
    OAuthService service = new ServiceBuilder()
            .provider(FacebookApi.class)
            .apiKey(KEY)
            .apiSecret(SECRET)
            .callback("http://example.com/facebook_oath_callback/")
            .build();
    Verifier verifier = new Verifier(code);
    Token accessToken = service.getAccessToken(EMPTY_TOKEN, verifier);
    LOG.info("Got access token: " + accessToken);
}

它能够在此代码之前重定向并通过facebook_oath_callback 调用此receiveCallback 方法,并且能够正确获取accecssToken

我正在考虑将这个令牌存储在这种 bean 中

class AccessToken {
  String facebookUID; // where to get this?
  String accessToken; 
}

但是,在 Facebook 回调的回调方法的上下文中,没有我们可以知道这用于谁的访问令牌的 facebook UID?我在这里错过了什么?

【问题讨论】:

    标签: java facebook oauth scribe


    【解决方案1】:

    您需要对 Facebook Graph API 进行另一个 REST 调用以“检查”访问令牌,并且在该调用的 JSON 结果中存在您正在寻找的 user_id 元素。此处对此进行了描述:https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.3#confirm

    您会对名为“检查访问令牌”的部分感兴趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-07
      • 2011-02-15
      • 1970-01-01
      • 2021-09-13
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-07-27
      相关资源
      最近更新 更多