这三种模式的区别,核心看两件事:是谁在拿令牌,以及客户端能不能直接接触用户密码。
授权码模式
最常见,也更适合面向用户的 Web 或 App 登录。用户先在授权服务器完成认证,客户端拿到授权码后再去换令牌,整个过程里密码不直接交给业务客户端。
密码模式
密码模式是客户端直接收集用户账号密码,再拿去换令牌。它曾用于高度可信的一体化系统,但现在通常被视为过时方案,新系统一般不建议继续采用。
客户端凭证模式
这种模式没有用户参与,适合服务与服务之间调用。拿令牌的是应用自己,代表的是客户端身份,而不是某个具体用户。
怎么快速区分
有用户跳转授权页面,优先想到授权码;客户端直接碰用户密码,是密码模式;完全没有用户交互,多半就是客户端凭证模式。
正文完




