我的应用通过在我的请求中的hd参数中指定abc.com来限制Oauth2登录到特定域,例如abc.com。Restrict Login Email with Google OAuth2.0 to Specific Domain Name但是过去几天它允许任何拥有Google帐户的人登录。我确信我没有更改代码,甚至验证了结果uri在其hd参数中指定了我的域名后面这个链接指令https://developers.google.com/identity/protocols/OpenIDConnect#hd-param。所以任何人都可以告诉我我做错了什么?这是我的代码
`redirect( uri : "https://accounts.google.com/o/oauth2/auth?" +
"redirect_uri=${redirectUri}&" +
"response_type=code&" +
"client_id="${my_client_id}"& +
"scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email" +
"+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&" +
"approval_prompt=auto&" +
"hd=apposit.com")`
答案 0 :(得分:10)
我不知道为什么会发生这种情况,但是您可以通过使用java的abc.com
方法或 endsWith()检查用户电子邮件是否包含contains()
来添加除hd之外的第二种安全机制。在您允许用户进一步使用您的应用之前,更可靠。
但这仍然是一个快速解决方案,其他解决方案应该回答这个问题