1. 第一次没有登录的请求流程。
1.1. 没有code和state 进行登录跳转。
2. 授权
3. 获取token
4. clientId和clientSecret加密 。
new String(Base64.encode(String.format("%s:%s", resource.getClientId(),
clientSecret).getBytes("UTF-8")), "UTF-8")
生成:{Authorization=[Basic dG9ucjpzZWNyZXQ=]} 。来自org.springframework.security.oauth2.client.token.auth.DefaultClientAuthenticationHandler
5. 伪造Basic Authentication Scheme
http://410063005.iteye.com/blog/1729694