「JWT(Json Web Token)」是 token 的其中一种实现方式。
JWT 可以算得上是最著名的 token 技术,但 token 还有其他的形式,比如 bearer token, mac token,字符串等等。比如 SAML 协议中的「断言(Assertion)」就可以起到和 Token 相同的作用。
OAuth 2.0 则是一个授权标准协议,可以使第三方应用获得对资源服务的有限访问。
根据 OAuth 2.0 协议规范,定义了四个角色:
- 资源所有者(Resource Owner):能够授予对受保护资源访问权限的实体。例如应用的用户是资源的所有者,可以授权其他人访问他的资源。当资源所有者是一个人时,它被称为最终用户。
- 资源服务器(Resource Server):存储受保护资源的服务器,能够接受并使用访问令牌来响应受保护的资源请求。就是资源服务器接受Access Token,然后验证它拥有的权限,最后返回对应的资源。这个资源服务器一般是应用本身。
- 授权服务器(Authorisation Server):服务器向客户端(即应用)颁发访问令牌来验证资源所有者并获得授权。即负责颁发 Access Token 的服务器,例如IDaaS 就是一个授权服务器。
- 客户端(Client):需要获取访问令牌以访问资源服务器的应用。经过授权后,授权服务器为客户端颁发 Ac