所以,我正在使用OAuth2实现一个提供程序。
我得到客户端申请client_id和client_secret的部分。这将它们唯一地标识给提供者。
那么,现在他们已经拥有了,并且他们正在通过SSL,为什么需要授权令牌呢?然后,在那之后,为什么需要授权代码?
另外,为什么刷新令牌?
为什么我们不能只使用client_id和client_secret?我确实根据最终用户的授权保护资源,需要额外的授权。这很有道理。但为什么要使用身份验证令牌和代码?
最后,对于不受最终用户保护的资源,所有这些都需要吗?
所以,我想这有5个不同的问题可以帮助我理解:
答案 0 :(得分:3)
对于necroposting抱歉,我希望这对某人有用,以备将来参考。
首先,他们被称为Authorization Code
和Access Token
。
Access Token
是表示访问权限的字符串
资源Authorization Code
表示资源的授权
所有者给予客户。在大多数情况下,资源所有者是
拥有服务器上某些资源的最终用户。客户端
要访问这些资源,所以他需要授权
用户。Refresh Token
用于续订过期的Access Tokens
。 Usualli一个访问令牌的生命周期为几分钟,而刷新则在几个月/几年/之后到期。你使用访问的;当它们变老时,您使用刷新令牌来获取新的访问令牌。
请注意,在OAuth1中,只有一种类型的令牌也持续了数月。引入了短期令牌来提高协议安全性。简而言之,当客户端拥有授权码时,他对授权服务器(AS)说:“ehi,资源所有者说我可以访问资源!”和AS为客户端提供访问令牌。现在他有了令牌,客户端进入资源服务器:“授权服务器说我可以访问资源,查看我的令牌”并获得资源。
请注意,有4个流程,每个流程使用不同类型的授权授权,其中只有一个是授权代码。这都是滔滔不绝的话。 关于该机制,首先阅读this (a little obsolete) introduction,然后再阅读RFC 6749,请记住这些事项。
希望你现在有一个更清晰的想法。