当前位置: 首页 > 面试题库 >

OAuth2.0的用例

瞿兴朝
2023-03-14
问题内容

我正在建造一个muli-tenant saas(software as a service) architecture。我必须authentication system为系统构建。

根据我的研究,我认为我需要使用构建基于的身份验证系统OAuth2.0和承载令牌JWT tokens

在阅读了很多有关如何构建OAuth2.0服务器的OAuth2.0的知识之后,我仍然感到困惑didn't understandfull concept of OAuth并且对是否需要它或是否需要其他身份验证系统感到困惑。

我的系统需要的是,我们将为SDK所有客户提供服务,每个客户都将拥有一个,Application Id并且a secret key使用SDK客户端将连接到我们系统中存在的他的应用程序。

application ID将客户他的申请目前映射在我们的系统和client secret key将要验证客户端内的application.Do我还需要建立一个基于OAuth2.0的认证系统或者我可以建立基于我们需要自己的身份验证系统?

OAUTH2.0的用例是什么?何时不需要实现它?


问题答案:

首先,如OAuth身份验证中明确指出的

OAuth 2.0不是身份验证协议。

用户访问应用程序时的身份验证告诉应用程序当前用户是谁以及他们是否存在。完整的身份验证协议还可能会告诉您有关此用户的许多属性,例如唯一标识符,电子邮件地址,以及当应用程序显示“
Good Morning”时如何调用它们。

但是,OAuth不会告诉应用程序。
OAuth绝对不会对用户说任何话,也不会说用户如何证明他们的存在或者即使他们仍然在场。
就OAuth客户端而言,它要求一个令牌,获得一个令牌,并最终使用该令牌访问某些API。它对谁授权该应用程序,甚至根本没有html" target="_blank">用户一无所知。

有一个使用OAuth进行用户身份验证的标准:OpenID Connect,与OAuth2兼容。

OpenID Connect ID令牌是签名的JSON Web令牌(JWT),它与常规OAuth访问令牌一起提供给客户端应用程序。
ID令牌包含一组有关身份验证会话的声明,包括用户的标识符(子),发布令牌的身份提供者的标识符(iss)以及为其创建令牌的客户端的标识符(音频)。

在Go中,您可以查看 coreos/dex 带有可插拔连接器的OpenID
Connect身份(OIDC)和OAuth 2.0提供程序。



 类似资料:
  • OAuth 2.0 OAuth 2.0(Open Anthentication) 是一个 开放标准授权, 它授予客户端应用程序安全授权访问受保护的服务器资源代表资源所有者(用户).Oauth2.0 还定义了资源拥有者授权的第三方访问其服务器资源过程,不予它们共享证书. StrongLoop API网关附带实现的OAuth 2.0协议,并提供元数据的持久性和管理一个OAuth 2.0提供者。 下图提

  • 基于JFinal3.x,jfinal-ext3 , japp-lanucher, dubbo, 参考RFC6749实现了4.节描述的内容。 实现了OAuth 2.0定义了四种授权方式 授权码模式(authorization code): 先获取下次请求token的code,然后在带着code去请求token; 简化模式(implicit):直接请求token; 密码模式(resource owne

  • 基于JFinal,jfinal-ext3 参考RFC6749实现了4.节描述的内容。   实现了OAuth 2.0定义了四种授权方式   授权码模式(authorization code): 先获取下次请求token的code,然后在带着code去请求token; 简化模式(implicit):直接请求token; 密码模式(resource owner password credentials)

  • connect(“outlook.office365.com”,“my_email_id,access_token”);//这里的存储是imap 我设置的属性是:properties.put(“mail.smtp.port”,“587”);SetProperty(“mail.imap.socketFactory.class”、“javax.net.ssl.sslsocketFactory”);Se

  • 在来自OAuth2提供者的最终重定向期间,是否有望看到“500”状态响应? 我试图确定这最终是提供商Auth0的错误(似乎是)还是我的错误。如果是我的话,我预计会出现400系列错误。有可能有钩子或规则,在这样的场景中,这些会导致500系列错误吗?我还预计会出现更具体的500错误,而不是500,而是另一个可用的数字,如599,因为缺少更好的示例。 我更具体的案例有: 成功,然后 500 对于 / 返

  • 我有一个电子邮件应用程序发送电子邮件,是在家里写的。我们已经为它设置了使用OAuth2.0与GMail(个人和商业账户)和Outlook.com账户的选项,没有问题。 我们也可以使用用户ID和密码进行身份验证,但是我们更喜欢OAuth2.0,因为我们不会以这种方式将密码保存在任何地方。 我们现在要求为Office365帐户这样做。 我注意到Office365 smtp服务器(smtp.Office