spring security oauth2 implicit模式

前面三篇文章讲了client credentials、password以及authorization code授权模式,本文就来讲一下implicit模式。

implicit模式

>该模式直接在浏览器中向认证服务器申请令牌,无需经过client端的服务器,跳过了"授权码"这个步骤,所有步骤在浏览器中完成,直接在回调url中传递令牌。

>适合直接在前端应用获取token的应用

步骤跟authorization code类似,只不过少了授权码:

  • 在浏览器向认证服务器请求token
  • 用户登录(如果之前没有登陆的话)
  • 用户授权
  • 授权完直接跳转到redirectUri并在url中携带token

实例

请求token

http://localhost:8080/oauth/authorize?response_type=token&client_id=demoApp&redirect_uri=https://baidu.com 
  • 注意,这里response_type=token
  • 无需传递client secret,传递client_id只是为了验证在auth server配置的redirect_uri是否一致
  • redirect_uri中如果携带参数,则最好对url编码再作为参数传递过去

回调成功

http://localhost:8081/callback#access_token=41f78007-e2ec-4978-9beb-a830b638d4d8&token_type=bearer&expires_in=1199&scope=all 

>可以发现直接在url中携带了access_token等信息

>当然了,使用了implicit模式,其实就没必要使用spring security oauth2的client模块了,因为直接走浏览器模式。

doc

注:本文转载自https://my.oschina.net/go4it/blog/1585381,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。


评论

赞助商