2017-09-03 49 views
0

我是.Net核心WebAPI认证的新手。我发现OpenIddict是一种易于使用的认证服务,但在开始使用之前,我注意到GitHub中有不同认证流程的示例。我无法找到任何有关这些身份验证流程的文档,所以下面的问题就会浮现在脑海中。欣赏是否有人能够提供有关该领域的见解。 GitHub的网址:https://github.com/openiddict/openiddict-core为什么在OpenIddict中有很多验证流程?

  1. 为什么有不同的流量..使用哪一个?我猜测每个流程都适合不同的应用性质,如果是的话,

    a。每个流程的优缺点是什么?

    b。是否有任何最佳实践或指导原则有助于确定适合该特定应用的正确选项(认证流程)?

在此先感谢。

回答

2

为什么有不同的流量..哪一个使用?

OpenIddict是一个OAuth2/OpenID Connect服务器。因此,它实现了由这两个规范定义的所有经典核心流程。

当你想通了,每个流程都有不同的使用情况:

  • 当一个无头的客户端应用程序需要访问自己的资源,客户端证书授予使用。这个流程中没有用户参与,这基本上是服务器到服务器的情况。

  • 资源所有者密码凭据授予是最简单的OAuth2流程:客户端应用程序发送的用户名和用户密码令牌请求,并将其回来的访问令牌。此流程有时被视为“传统”流程,不能由您自己管理的第三方应用程序使用(因为它是客户端知道用户凭据的唯一流程)。

  • 代码流是使用重定向并允许创建同意页面,用户可以决定是否要授予客户端应用程序的访问而没有与大家分享他的证书是最复杂的OAuth2/ID连接流应用程序。

  • 隐式流程是一个简化的代码流,用于基于浏览器的应用程序。

欲了解更多信息,你可以阅读这篇博文:http://kevinchalet.com/2016/07/13/creating-your-own-openid-connect-server-with-asos-choosing-the-right-flows/

相关问题