2016-10-07 35 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