为什么 OpenIddict 中有很多认证流程?
Why there are many authentication flows in OpenIddict?
我是 .Net Core WebAPI 身份验证的新手。我发现 OpenIddict 是一种易于使用的身份验证服务,但在我开始使用它之前,我注意到 GitHub 中有不同身份验证流程的示例。我找不到有关这些身份验证流程的任何文档,因此想到了以下问题。感谢是否有人可以提供有关该领域的见解。
GitHub url : https://github.com/openiddict/openiddict-core
为什么有不同的流程..使用哪一个?如果是这样,我猜每个流程都适合不同性质的应用程序,
一个。每种流程的优缺点是什么?
b。是否有任何最佳实践或指南可帮助确定适合该特定应用程序的正确选项(身份验证流程)?
提前致谢。
Why there are different flows.. which one to use?
OpenIddict 是一个 OAuth2/OpenID 连接服务器。因此,它实现了这两个规范定义的所有经典核心流程。
如您所知,每个流程都有不同的用例:
客户端凭据授予在无头客户端应用程序需要访问其自己的资源时使用。这个流程没有用户参与,基本上是一个服务器到服务器的场景。
资源所有者密码凭据授予是最简单的 OAuth2 流程:客户端应用程序发送带有用户名和密码的令牌请求,它取回访问令牌。此流程有时被视为 "legacy" 流程,不得由您不自行管理的第三方应用程序使用(因为这是客户端知道用户凭据的唯一流程)。
代码流是最复杂的OAuth2/OpenID连接流,它使用重定向并允许创建同意页面,用户可以在其中决定他是否想要授予对客户端应用程序的访问权限,而无需与应用程序共享他的凭据。
隐式流程 是一种简化的代码流程,专为基于浏览器的应用程序而设计。
有关更多信息,您可以阅读此博客 post:http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-choosing-the-right-flows/。
我是 .Net Core WebAPI 身份验证的新手。我发现 OpenIddict 是一种易于使用的身份验证服务,但在我开始使用它之前,我注意到 GitHub 中有不同身份验证流程的示例。我找不到有关这些身份验证流程的任何文档,因此想到了以下问题。感谢是否有人可以提供有关该领域的见解。 GitHub url : https://github.com/openiddict/openiddict-core
为什么有不同的流程..使用哪一个?如果是这样,我猜每个流程都适合不同性质的应用程序,
一个。每种流程的优缺点是什么?
b。是否有任何最佳实践或指南可帮助确定适合该特定应用程序的正确选项(身份验证流程)?
提前致谢。
Why there are different flows.. which one to use?
OpenIddict 是一个 OAuth2/OpenID 连接服务器。因此,它实现了这两个规范定义的所有经典核心流程。
如您所知,每个流程都有不同的用例:
客户端凭据授予在无头客户端应用程序需要访问其自己的资源时使用。这个流程没有用户参与,基本上是一个服务器到服务器的场景。
资源所有者密码凭据授予是最简单的 OAuth2 流程:客户端应用程序发送带有用户名和密码的令牌请求,它取回访问令牌。此流程有时被视为 "legacy" 流程,不得由您不自行管理的第三方应用程序使用(因为这是客户端知道用户凭据的唯一流程)。
代码流是最复杂的OAuth2/OpenID连接流,它使用重定向并允许创建同意页面,用户可以在其中决定他是否想要授予对客户端应用程序的访问权限,而无需与应用程序共享他的凭据。
隐式流程 是一种简化的代码流程,专为基于浏览器的应用程序而设计。
有关更多信息,您可以阅读此博客 post:http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-choosing-the-right-flows/。