Я пытаюсь создать проект для android. Мне нужно получить jwt для пользователя, чтобы аутентифицировать его на моем сервере приложений, код ниже (от https://developers.google.com/identity/sign-in/android/sign-in):
gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.oauth_client_id))
.requestEmail()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this);
if(null == account){
Intent signInIntent = mGoogleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);
}
........
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
// Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...);
case RC_SIGN_IN:
// The Task returned from this call is always completed, no need to attach
// a listener.
Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data);
handleSignInResult(task);
.....
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
try {
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
if(null == account){
Log.d(TAG,"Account is not found");
}else{
Log.d(TAG,String.format("Account is: [%s]",account));
}
// Signed in successfully, show authenticated UI.
// updateUI(account);
} catch (ApiException e) {
// The ApiException status code indicates the detailed failure reason.
// Please refer to the GoogleSignInStatusCodes class reference for more information.
Log.w(TAG, "signInResult:failed code=" + e.getStatusCode());
}
}
Я создал ключ API в https://console.developers.google.com/apis/credentials для приложения Oauth2 Android с отпечатком SHA1 из моего ключа отладки в Android Studio и установите его в
.requestIdToken(getString(R.string.oauth_client_id))
Когда я запускаю приложение, я вижу вход в систему, выберите учетную запись, но в
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
У меня есть исключение с кодом 10 или 12502
Как получить простое приложение JWT в Android для идентификации клиента на моем сервере? Мне нужно просто проверить подпись JWT на сервере, это простой поток.