2016-10-07 36 views
0

我想在我的應用程序中集成優步SDK,我得到'expired_jwt'錯誤。Uber集成登錄錯誤:expired_jwt

以下是我的代碼:

configuration = new SessionConfiguration.Builder() 
      .setClientId(CLIENT_ID) 
      .setRedirectUri(REDIRECT_URI) 
      //.setServerToken(SERVER_TOKEN) 
      .setEnvironment(SessionConfiguration.Environment.SANDBOX) 
      .setScopes(Arrays.asList(Scope.ALL_TRIPS, Scope.PROFILE)) 
      .build(); 

    accessTokenManager = new AccessTokenManager(this); 

    //Use a custom button with an onClickListener to call the LoginManager directly 
    loginManager = new LoginManager(accessTokenManager, new UberLoginCallback(), configuration, LOGIN_REQUEST_CODE); 

//對於登錄

loginManager.login(MainActivity.this); 

//然後我得到的結果在

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    loginManager.onActivityResult(this, requestCode, resultCode, data); 
} 

// UberLoginCallback類是這樣的:

private class UberLoginCallback implements LoginCallback { 

    @Override 
    public void onLoginCancel() { 
     Toast.makeText(MainActivity.this, "Login Cancelled", Toast.LENGTH_LONG).show(); 
    } 

    @Override 
    public void onLoginError(@NonNull AuthenticationError error) { 
     Toast.makeText(MainActivity.this, "Login Error : " + error.toString(), Toast.LENGTH_LONG).show(); 
    } 

    @Override 
    public void onLoginSuccess(@NonNull AccessToken accessToken) { 
     Toast.makeText(MainActivity.this, "Login Success", Toast.LENGTH_LONG).show(); 
    } 

    @Override 
    public void onAuthorizationCodeReceived(@NonNull String authorizationCode) { 
     Toast.makeText(MainActivity.this, "Authorization Code : " + authorizationCode, Toast.LENGTH_LONG).show(); 
    } 
} 

In'onLoginError()'我收到錯誤'expired_jwt'

回答

1

JWT包含響應的時間戳。我們使用30秒驗證窗口。您正在使用的設備/仿真器可能沒有準確的系統時間。請修復時間並重試。

+0

謝謝,它現在工作正常。 – mithil1501