У меня проблемы с работой входа в 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);
}
Примечание: я не ищу обходных путей для этой проблемы, таких как проверка домена после подписания, поскольку мы пытаемся решить эту проблему из-за жалоб пользователей.