【问题标题】:unable to regenerate Uber Access Token using Uber Refresh Token on Server side无法在服务器端使用 Uber Refresh Token 重新生成 Uber Access Token
【发布时间】:2017-11-11 02:35:46
【问题描述】:

对于 Uber 登录,我在 Android 手机端遵循“单点登录”登录机制,但由于刷新令牌,我遇到了问题。刷新令牌 我们在 AccessToken 类中获得的(30 个字符数)我们将其传递给服务器以刷新访问令牌。但是服务器无法重新生成 使用此刷新令牌访问令牌:

curl -F 'client_secret=CLIENT-SERCRET' \
     -F 'client_id=CLIENT_ID' \
     -F 'grant_type=refresh_token' \
     -F 'refresh_token=REFRESH_TOKEN_FROM_ANDROID' \
      https://login.uber.com/oauth/v2/token

并得到错误:

{“错误”:“invalid_grant”}

需要访问令牌才能在服务器端获取与游乐设施相关的详细信息。

我们遇到了这个问题,我们将不胜感激。 提前致谢。

以下是登录回调的代码 sn-p,我们从中获取刷新令牌:

private class UberLoginCallback implements LoginCallback {

    @Override
    public void onLoginCancel() {
    }

    @Override
    public void onLoginError(@NonNull AuthenticationError error) {
    }

    @Override
    public void onLoginSuccess(@NonNull AccessToken accessToken) {
        String accessToken = accessToken.getToken()
        String refreshToekn = accessToken.getRefreshToken()
        /*Passing this refresh token on server side but doesn't work as expected*/ 
    }

    @Override
    public void onAuthorizationCodeReceived(@NonNull String authorizationCode) {
        Log.d(TAG, "Authorization Code : " + authorizationCode);
    }
}

【问题讨论】:

    标签: android curl uber-api refresh-token


    【解决方案1】:

    如果您在尝试获取新的 access_token 时收到 {"error": "invalid_grant"},这意味着正在使用的刷新令牌已过期或无效。与您尝试从 onLoginSuccess 方法获取刷新令牌的情况相关 - AccessToken 对象当前存在问题 - 因为 AccessToken 有一个空的刷新令牌参数。我们目前正在努力解决该问题。

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 2022-01-04
      • 2019-05-02
      • 2020-05-26
      • 1970-01-01
      • 2019-06-07
      • 2019-02-18
      • 2017-12-30
      • 1970-01-01
      相关资源
      最近更新 更多