uaa采用OAuth的认证方式
uaa支持多种OAuth认证方式
认证码授权(Authorization Code Grant)
浏览器请求码(Browser Requests Code)
这里的用户是已经登陆的情况,如果没登陆,在第3步会要求用户在页面填写用户名和密码
非浏览器请求码(Non-Browser Requests Code)
和上面的流程一样,不同的是客户端要求返回JSON格式(在header里指定:Accept:application/json),只是返回的是JSON格式
用户名密码隐式授权(Implicit Grant with Credentials)
由于像CF这样的客户端没办法像浏览器那样跳转页面,因此采用隐式认证流程,即直接发送用户名密码,获取访问的token
浏览器隐式授权(Implicit Grant for Browsers)
和浏览器请求码流程一样,但省去了获取access token的步骤,uaa直接将access token放在redirect url的参数中。
受信任的客户端应用
uaa还提供了一个特别的通道:受信任的客户端应用,客户端应用可以自己认证用户,再从uaa获取access token,这样uaa就可以支持第三方的认证,将认证和授权分离。