Google Sign In запрос входа для данного идентификатора или ссылку профиля Google для идентификатора - PullRequest
0 голосов
/ 08 марта 2020

Я реализовал Google SignIn с IdToken на Android, используя com.google.android.gms:play-services-auth. После того как мой сервер проверил IdToken, я сохраню google-id пользователей в своей базе данных, чтобы подтвердить его при следующем входе в систему.
На странице настроек пользователей я хочу показать пользователю, что Google учетная запись связана с учетной записью моего собственного приложения.

Пока здесь все не работает просто отлично.

Но я также хочу, чтобы пользователь знал, какая именно учетная запись Google, многие люди имеют несколько учетные записи Google (например, работа и c). Теперь проблема в том, что Google-ID малопригоден для пользователя. У меня было две идеи, но обе, кажется, невозможно реализовать:

  1. создать ссылку на профиль Google, используя идентификатор Google с известной структурой URL (например, https://profile.google.com/this-url-doesnt-exist/google-id
  2. Используйте get GoogleSignInClient с GoogleSignInOptions, где я могу установить Google-Id аналогично опции setAccountName. Примерно так:
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .setAccountName("HERE WOULD BE SOMETHING CONSTRUCTED FROM THE GOOGLE-ID")
                .requestEmail()
                .requestIdToken(web_client_id)
                .build();

Есть ли способ реализовать что-либо из вышеперечисленного или есть другой вариант? Что я пытаюсь избежать:

  • сохраняя имя учетной записи пользователя (обычно адрес электронной почты), это может измениться, и по этой причине я Я использую Google-ID в первую очередь
  • , запрашивающий разрешение android.permission.GET_ACCOUNTS, но он все равно не будет точным и разрешение на добавление мне не нужно
  • с пользователем пробуйте каждую учетную запись, пока google-id не совпадет с той, которую я сохранил на своем конце

Любое решение или хитрость приветствуются. Мне просто нужно как-то сообщить пользователю, какая учетная запись Google связана с моей сервис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...