【问题标题】:Can google be used as your Authentication / Authorization provider?google 可以用作您的身份验证/授权提供者吗?
【发布时间】:2019-07-03 09:21:01
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

可以使用 google 来达到同样的效果还是仅仅意味着 登录应用程序?

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

当您考虑使用 Google 进行身份验证和授权时,您谈论的是两种不同的事情。谷歌也有不同类型的服务来服务于不同的目的。关键是要决定您要对谁进行身份验证。互联网上的任何人,还是仅属于您公司的人(域名)?

如果您对 Auth0 感到满意,那么使用 Google OAuth 就可以轻松应对。 OAuth 2.0 是一个标准,这意味着大多数供应商实现相同的服务、相同的接口、相同的一切。

Google 帐户

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

现在,如果您只想允许某些人,您将维护一个“授权”个人数据库并根据他们的身份授予权限。

只要您了解 OAuth 2.0,Google 帐户就很容易实施。 Internet 上有许多代码示例,几乎支持任何语言的服务器端。客户端始终在网络浏览器中执行。

Google G Suite / Google 身份服务器

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

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

授权

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

例外情况是 Google Cloud,它拥有一个广泛的授权系统,支持 Google Cloud 服务的 IAM(身份和访问管理)以及其他使用 OAuth 范围和访问令牌来管理的 Google 服务(例如 Gmail、Drive、Sheets 等)授权。

【讨论】:

    猜你喜欢
    • 2020-08-28
    • 2019-07-16
    • 1970-01-01
    • 2020-01-23
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    相关资源
    最近更新 更多