谷歌可以用作您的身份验证/授权提供商吗?

时间:2019-07-02 19:09:41

标签: google-app-engine oauth oauth-2.0 google-oauth google-oauth2

过去,我曾使用Auth0和Identity Server作为身份验证/授权提供者。基本上,我们围绕它们构建了一个.netcore微服务,并将其用于创建/维护/验证JWT承载令牌。

可以使用google来达到相同的效果,还是仅用于登录应用程序?

1 个答案:

答案 0 :(得分:0)

  

Google可以用于相同的效果,还是仅用于   登录到应用程序?

您问题的快速答案是是,您可以使用Google进行身份验证。

当您考虑使用Google进行身份验证和授权时,您所谈论的是两件事。 Google还提供不同类型的服务来满足不同目的。关键是确定要认证的人。互联网上的任何人,还是只有您公司中的一部分(域名)?

如果您对Auth0感到满意,则可以在家使用Google OAuth。  OAuth 2.0是一个标准,这意味着大多数供应商都实现相同的服务,相同的接口,所有内容。

Google帐户

这是大多数人想到的服务。任何人都可以创建一个Google帐户,并且这些帐户使用电子邮件地址表格someone@gmail.com。您可以使用此服务对您自己的服务进行身份验证。您可以通过自己的机制自行提供授权。假设您有一个聊天应用程序,只有那些拥有Google帐户的人才能加入。你不在乎谁当用户向Google进行身份验证时,他们会收到一系列令牌(访问令牌,刷新令牌,身份令牌)。您可以使用身份令牌来了解此人(他们的电子邮件地址)。

现在,如果您只想允许某些人,则可以维护“授权”人员的数据库,并根据其身份授予权限。

只要您了解OAuth 2.0,即可轻松实施Google帐户。 Internet上有许多代码示例,它们几乎支持任何语言的服务器端。客户端总是在Web浏览器中执行。

Google G Suite / Google身份服务器

如果您的目标是仅通过域名支持您自己公司中的成员,请使用Google G Suite(付费)或Google Identity Server(免费)。我上面提到的所有内容都是相同的,只是您以someone@mydomain.com的形式为成员创建电子邮件地址。

成千上万的公司使用Google进行身份验证。超过十亿的消费者拥有Google帐户。

授权

您会注意到,我并不是在说Google正在用于授权。 Google没有基础架构来让您编程(存储有关详细信息)可以授权的内容。您自己的应用程序具有的服务和权限的类型是无限的。您需要自己进行授权,例如将有关用户权限的详细信息存储在数据库中。

Google Cloud是一个例外,它具有广泛的授权系统,该系统构建了支持IAM(身份和访问管理)的Google Cloud Services以及其他使用OAuth范围和访问令牌进行管理的Gmail,Dri​​ve,Sheet等Google服务。授权。