我对 OAuth2密码授予类型 - 概念
感到困惑
在here中,令牌的实现与使用EndPoint / Claims类似
在this site或this blog中,令牌由JSON对象实现,包含所有客户端凭证detials
任何人都可以帮助更好地清除这个概念吗?
答案 0 :(得分:1)
如果您指的是访问令牌,那么它可以是任何一种类型(没有特殊含义的字符串或JSON,XML或其他格式)。 OAuth2 specification说明了这一点:
访问令牌是表示授予该授权的授权的字符串 客户。该字符串通常对客户端不透明。令牌 表示访问权限的特定范围和持续时间 资源所有者,由资源服务器和授权强制执行 服务器
令牌可以表示用于检索授权的标识符 信息或可以自包含授权信息 可验证的方式(即由一些数据和一个数据组成的令牌字符串) 签名)。
所以这取决于OAuth2的实现。
如果您的意思是ID token(来自OpenID Connect),那么它必须采用JWT(签名的JSON)格式。
答案 1 :(得分:0)
有四个Oauth2流来获取访问令牌(而不是ID令牌),具体取决于客户端系统如何代表最终用户获取访问令牌。使用OAuth2密码授予流程,客户端应用程序显示登录页面,获取密码并使用来自授权服务器的REST API调用对用户进行身份验证。成功验证后,授权服务器将令牌返回给客户端应用程序。例如移动应用程序,但它不如其他Oauth2流程安全,应仅与受信任的客户端应用程序一起使用。我有一篇关于此的文章,您可以查看更多详情,链接在这里https://www.linkedin.com/pulse/microservices-security-openid-connect-manish-singh