我正在阅读与OAuth工作流对话的article。文章有一个序列图:
关于OAuth工作流,我有几个问题:
1.第一个端点不应该被称为身份验证而不是授权吗?因为在此阶段用户正在对自己进行身份验证。1.如果有人窃取了访问令牌,是否意味着他获得了对资源的访问权限?1.客户端应用程序是否需要管理多个调用,或者我们可以使用.Net客户端的某个Nuget包来为我们抽象它?
7xzttuei1#
第一个端点不应该被称为身份验证而不是授权吗?因为在此阶段用户正在对自己进行身份验证。
用户正在进行身份验证,但同时用户正在为应用程序请求的权限(作用域)授权应用程序。我认为这就是它被称为授权端点的原因。
如果有人窃取访问令牌,这是否意味着他获得了对资源的访问权限?
是的,他们将能够代表您行事,直到令牌到期。这就是为什么令牌应始终仅通过安全通道(仅限HTTPS)发送的原因。在这一点上,令牌并不比Cookie好,但令牌“通常”比Cookie更快过期。
客户端应用程序是否需要管理多个调用,或者我们可以使用基于.NET的客户端的某个Nuget包来为我们抽象它?
在某些场景中,您可以使用Microsoft.Identity.Client(也称为MSAL)来获取令牌。如果您有一个ASP.NET Core Web App,您还需要Microsoft.Identity.Web之类的东西。
1条答案
按热度按时间7xzttuei1#
第一个端点不应该被称为身份验证而不是授权吗?因为在此阶段用户正在对自己进行身份验证。
用户正在进行身份验证,但同时用户正在为应用程序请求的权限(作用域)授权应用程序。我认为这就是它被称为授权端点的原因。
如果有人窃取访问令牌,这是否意味着他获得了对资源的访问权限?
是的,他们将能够代表您行事,直到令牌到期。这就是为什么令牌应始终仅通过安全通道(仅限HTTPS)发送的原因。在这一点上,令牌并不比Cookie好,但令牌“通常”比Cookie更快过期。
客户端应用程序是否需要管理多个调用,或者我们可以使用基于.NET的客户端的某个Nuget包来为我们抽象它?
在某些场景中,您可以使用Microsoft.Identity.Client(也称为MSAL)来获取令牌。如果您有一个ASP.NET Core Web App,您还需要Microsoft.Identity.Web之类的东西。