Rei*_*eid 1 openid google-openid openid-connect amazon-cognito aws-cognito
我正在开发一个应用程序,该应用程序允许用户使用他们的 google 帐户登录,然后使用该登录名获取 Cognito 联合身份。
我无法获得使用 Cognito 进行身份验证所需的正确令牌。我不断收到错误com.amazonaws.services.cognitoidentity.model.NotAuthorizedException: Invalid login token. Not a valid OpenId Connect identity token.
这是我的代码:
Runnable runnable = new Runnable() {
@Override
public void run() {
CognitoSyncClientManager.init(getActivity().getApplicationContext());
String token = null;
try {
token = GoogleAuthUtil.getToken(getActivity().getApplicationContext(), signInAccount.getAccount(), "oauth2:openid");
}catch (Exception e){
Log.d("login exception", e.toString());
}
Map<String, String> logins = new HashMap<String, String>();
logins.put("accounts.google.com", token);
CognitoSyncClientManager.addLogins("accounts.google.com", token);
Log.d("login", "Created User token " + token);
Log.d("login", "Cached UserID: "+CognitoSyncClientManager.credentialsProvider.getCachedIdentityId());
Log.d("login", "UserID: " + CognitoSyncClientManager.credentialsProvider.getIdentityId());
Toast.makeText(getActivity().getApplicationContext(), "Created user: "+CognitoSyncClientManager.credentialsProvider.getCachedIdentityId(), Toast.LENGTH_LONG);
}
};
Thread t = new Thread(runnable);
t.start();Run Code Online (Sandbox Code Playgroud)
小智 5
GoogleAuthUtil 的 getToken 似乎返回一个访问令牌。
https://developers.google.com/android/reference/com/google/android/gms/auth/GoogleAuthUtil.html#getToken(android.content.Context , android.accounts.Account, java.lang.String, android. os.Bundle)
您需要将 Google 的 OpenId Connect Id 令牌传递给 Cognito 而不是访问令牌。
https://developers.google.com/identity/sign-in/android/backend-auth
| 归档时间: |
|
| 查看次数: |
2145 次 |
| 最近记录: |