如下为一份粗略的授权方式及适用场景:
-
授权码(Authorisation Code):适用于具有后端的传统Web应用程序以及原生(移动或桌面)应用程序,通过系统浏览器进行单点登录
-
隐式(Implict):适用于没有后端的基于浏览器的应用程序
-
密码(Password):对于应用程序和授权服务器属于同一个提供者的受信任的本地客户端
-
客户凭证(Client Credentials):对于代表自己行事的客户端,例如 Web 服务。
-
Refresh Token:一种特殊的授权,让客户无需再次执行代码或密码授权步骤即可刷新其访问令牌。
-
SAML 2.0 Bearer(不是很理解):让拥有 SAML 2.0 断言(登录令牌)的客户端将其交换为 OAuth 2.0 访问令牌。
-
JWT Bearer(不是很理解):让拥有来自一个安全域的JSON Web令牌 (JWT) 断言的客户端将其交换为另一个域中的 OAuth 2.0 访问令牌。
-
Device:对于某有浏览器或输入受限的设备,例如智能电视、媒体控制台、打印机等。
-
Token Exchange:让应用程序和服务在委托和模拟场景中获取访问令牌。