设置the Hosted Domain参数时,我无法使用Android的Google登录。设置后,对用户可以登录的域没有任何限制,这与文档相矛盾。
我期望在request_uri上设置HD参数时,Google在浏览器上会执行什么操作,这将登录限制在该域中,但我只能获得允许所有帐户的通用登录流程。
@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);
}
注意:我并不是在寻找解决此问题的方法,例如在签名后检查域,因为我们正试图解决此问题,因为用户体验方面的投诉。
答案 0 :(得分:0)
要为特定域启用登录,您必须在https://console.cloud.google.com/apis/credentials上配置项目
根据我的经验,据我所知,setHostedDomain(“ example.com”)选项不会限制登录屏幕上的电子邮件输入,只会通过向您显示已注册该域的电子邮件地址来进行限制在设备上。