检查google oauth的电子邮件Id域名

本文关键字:Id 域名 电子邮件 google oauth 检查 | 更新日期: 2023-09-27 17:54:20

我正在尝试使用google oauth验证我的应用程序。我想只允许一组特定的人有一个特定的"@eg.com"能够获得访问。

我试着加入

 hd="eg.com"

在我的url。但它甚至接受"@gmail.com"或"@company.com"域名。是否有一种方法可以做到这一点,以便像"users@eg.com"这样的用户只获得访问令牌和东西?

编辑:我在我的应用程序中使用webview来执行授权

检查google oauth的电子邮件Id域名

您可以(而且应该!)通过调用google api来验证您的id_token。调用https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123,检查响应的各个字段。如果您请求"profile"权限,您还将获得email字段。然后,您可以根据您的域检查此电子邮件,如果不适合,则拒绝访问。

详细文档见:https://developers.google.com/identity/sign-in/web/backend-auth calling-the-tokeninfo-endpoint

我想你必须在你的应用程序中实现这一点如果域名部分不允许,请不要存储令牌并显示一些错误消息。

你可以使用

在c#中获得域部分
string s = "users@eg.com";
string[] words = s.Split('@');

words[0]users, words[1]eg.com

或者您可以使用MailAddress