如何让用户使用其Google帐户登录我的Web应用程序,并验证他们是否从某个Google Apps域登录?

高清 范围 向Google授权服务确保只能使用所选域登录?

还是我可以获取登录用户的电子邮件中并验证它以“@domain.com”结尾?这似乎不是一个好主意。

登录后,我还需要访问用户的Google联系人,根据文档要求 Authsub代理身份验证.

有帮助吗?

解决方案

看看其他人建议的开放文档。简而言之,您需要根据其域名将用户重定向到自定义登录URL - 即,您需要在重定向之前查找其域名,即您的HD参数,这确实强迫登录到指定的域

这也需要为Google Apps域支持SSO,在该域中,用户的身份验证不是由Google处理的,而是由第三方服务处理。

确保您查看OpenID提供商,而不仅仅是获得电子邮件地址域名,一旦获得了验证信息。

其他提示

您可以为Google Apps域使用OpenID端点,如下所述: http://groups.google.com/group/group/google-federated-login-api/web/openid-discovery-for-host-hosted-domains

根据您的OpenID库,您可能/可能无法使用它。例如OpenID4Java还不支持它

看来我可以使用 OpenID+Oauth混合协议 同时识别用户并获得对数据API的访问令牌,如图所述 这篇博客文章.

编辑: 更新的死链接到实时博客文章。

这个问题 有关如何使用OpenID获取用户电子邮件的信息。我想我可以验证它以正确的域名结束。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top