Как заставить Google Войти для Android работать с размещенными доменами - PullRequest
0 голосов
/ 12 февраля 2019

У меня проблемы с работой входа в Google для Android при настройке параметра Hosted Domain .Когда он установлен, нет ограничений на то, с каким доменом пользователь может войти, что противоречит документации.

Я ожидаю, что Google делает в браузере, когда для request_uri установлен параметр HD, который ограничивает вход только для учетных записей в этом домене, однако я получаю только общий поток входа, который позволяетвсе аккаунты.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .setHostedDomain("example.com")
            .requestIdToken("WEB_CLIENT_ID.apps.googleusercontent.com")
            .requestEmail()
            .build();

    // Build a GoogleSignInClient with the options specified by gso.
    mGoogleSignInClient = GoogleSignIn.getClient(this, gso);

    GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this);

    findViewById(R.id.sign_in_button).setOnClickListener(this);
}

@Override
public void onClick(View v) {
    Intent signInIntent = mGoogleSignInClient.getSignInIntent();
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

Примечание: я не ищу обходных путей для этой проблемы, таких как проверка домена после подписания, поскольку мы пытаемся решить эту проблему из-за жалоб пользователей.

1 Ответ

0 голосов
/ 27 мая 2019

Чтобы включить вход для определенных доменов, вы должны настроить свой проект на https://console.cloud.google.com/apis/credentials

Из моего опыта, и, насколько я знаю, опция setHostedDomain ("example.com") будетне ограничивайте ввод электронной почты на экране входа в систему, он будет ограничивать только показом адресов электронной почты с тем доменом, который уже зарегистрирован на устройстве.

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