Сводка
Я хочу реализовать вход в службу Google для моего приложения для Android, и по большей части он работает нормально, руководствуясь этим полезным руководством .Я изучаю использование MongoDB Stitch в качестве бэкэнда, я хочу сделать Stitch посредником между моей базой данных и клиентами.Stitch предоставляет этот не очень полезный учебник .
Проблема
В настоящее время я заблокирован проблемой, в которой:
@Override
protected void onCreate(Bundle bundle) {
GoogleSignInOptions gso =
new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
// Build a GoogleSignInClient with the options specified by gso.
GoogleSignInClient googleSignInClient
= GoogleSignIn.getClient(this, gso);
findViewById(R.id.signinwithgooglebutton)
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, "Initiated Google onClick.");
Intent signInIntent =
googleSignInClient.getSignInIntent();
startActivityForResult(signInIntent, RC_SIGN_IN);
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
Task<GoogleSignInAccount> task =
GoogleSignIn.getSignedInAccountFromIntent(data);
final GoogleCredential googleCredential =
new GoogleCredential(account.getServerAuthCode());
// ^~~ returns empty String
return;
}
}
Ожидаемое поведение
account.getServerAuthCode()
должен вернуть код аутентификации сервера, чтобы я мог передать его в Stitch и обработать для меня сеансы.
Сделано попыток
- Обновлены секреты клиента oauth2-google.
- Настройка ключа подписи SHA-1 для приложения Android.
- Убедитесь, что я не делал опечатки, подобные этому сообщению .
- Явно запрашиваю проверку подлинности серверакод, вызвав
requestServerAuthCode
в Builder, например:
GoogleSignInOptions gso =
new GoogleSignInOptions
.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestServerAuthCode(getResources()
.getString(R.string.server_client_id))
// ^~~ gets server_client_id from string.xml
.build();
Подобный вопрос можно найти здесь .Учитывая, что этот вопрос без ответа не был решен, я не думаю, что объединение двух вопросов целесообразно.
Я честно озадачен, все вклады приветствуются.