ora*_*rad 54 openid oauth-2.0 thinktecture-ident-server openid-connect identityserver3
IdentityServer支持在Flows枚举中定义并为客户端设置的不同OpenId Connect流.还有每种类型的流量,并在文档给他们很多的参考样本,但我找不到什么流是一个简单的定义列表的文件,如果他们是太明显言传.但我想他们不是.您能告诉我们这些差异的更多信息,也许我们可以将其添加到文档中吗?
那么什么是:隐式流,资源所有者密码凭证流,授权代码流,客户端凭证流,自定义授权流和混合流?还有哪些是OAuth流,哪些是OpenID Connect流?
谢谢!
Jaw*_*ikh 39
我遇到了同样的问题,目前工作仍在进行中.当我完成文档时,我可能会在这里发布.暂时:请检查草稿:
使用OIDC和OAuth2流程部分#73丰富IdentityServer文档
更新: OIDC和OAuth2流程
pas*_*ute 20
来自leastPrivilage的第一个链接:和Aharon Paretzki的OAuth 2 Simplified
流决定ID令牌(即授权代码)和访问令牌(即"令牌")如何返回给客户端:
授权码流程:OAuth 2.0流程在其中
隐式流程:OAuth 2.0流程
混合流程:OAuth 2.0流程
lea*_*ege 10
看看规格 - 已经全部记下来了:
http://openid.net/specs/openid-connect-core-1_0.html 和 http://tools.ietf.org/html/rfc6749
此外,我最近写了一个摘要,针对不同的应用程序类型细分了它:
http://leastprivilege.com/2016/01/17/which-openid-connectoauth-2-o-flow-is-the-right-one/
OAuth2中定义的流只是客户端access token
从身份提供者服务器接收身份验证的几种方式。在IdentityServer
这种情况下。除非您完全理解流程图中指定的实体(如,和)Resource Owner
,否则要了解流程并不容易。还有就是对这些实体(角色,珍贵)在一些简单的解释在这里。User Agent
Resource Server
授权代码流:authorization code
在发行证书之前发出优先证书access token
。
authorization code.
authorization code
。access token
给定的authorization code
access token
直接向客户端发出。隐式代码流:发出一个access token
没有authorization code
提供的偶数。
access token
直接请求一个。access token
authorization code
。隐式流被认为是使用脚本语言的客户端的理想流,例如,javascript
因为客户端不必分别请求authorization code
和access token
,从而减少了客户端的一次网络往返。
客户端凭证流:access token
未经资源所有者许可,发出。
access token
。当客户端也是资源所有者时,这是理想的选择,因此它不需要任何授权权限,直到access token
。
资源所有者流:access token
如果客户端具有资源所有者的凭据(例如,Id / Password),则发出一个
access token
直接请求一个。access token
立即获得。对于您认为与他们共享ID和密码绝对安全的客户,此流程非常理想。
混合流(OIDC流):发出authorization code
和access token
。
这是一个组合Authorization code flow
和Implicit code flow
。这就是为什么将其称为Hybrid
。
自定义流程
这实际上是可定制的流程。当您在企业中需要特定的身份验证/验证过程时,可以使用此功能,而该协议中的所有协议规范除外OAuth2
。
IdentityServer非常了解这种情况,它通过设计支持可扩展性。工厂模式,装饰器模式和IoC / DI将使您更容易在IdentityServer上实现其他功能。
归档时间: |
|
查看次数: |
25404 次 |
最近记录: |