关于OAuth2.0认证的理解和java实现
来源:互联网 发布:网络上刘皇叔是什么梗 编辑:程序博客网 时间:2024/04/30 03:02
本来想写写自己的理解的,发现没什么必要。。。
原理的话看阮一峰这篇就好:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
例子的一看这一篇:http://jinnianshilongnian.iteye.com/blog/2038646
其实对于之前没接触过认证流程的人来说,直接给你一个“oauth2.0”的概念,看了半天网上的资料你可能也还是会蒙,授权服务器,资源服务器,scope,access_token之类的全知道是什么了,就是不知道"oauth2.0"是什么,不知道scope怎么验证,code,access_token怎么生成的。
其实“oauth2.0”就是一个规则,一个流程,你完全可以什么库都不用自己按照那些请求参数回复参数,自己去实现那些规则,也是在按照“oauth2.0”走。
这次用的org.apache.oltu.oauth2库去看一下源码,其实就是在实例各种请求时按照oauth2.0规范设置了各种参数要求,参数内容的验证,把请求封装成库里的请求,生成库里的回复,code,和access_token完全是随机生成的,和其他参数无关,没找到是怎么保持唯一性的
比如获取code就OAuthAuthzRequest oauthRequest =newOAuthAuthzRequest(request);
OAuthzRequest的构造方法里就限制了请求里各种参数的内容,是否缺失等。
类似的还有获取access_token的请求,资源服务器的请求等
有些针对认证方式还限制了请求的方式,如OAuthAuthzRequest oauthRequest =newOAuthAuthzRequest(request);自带的实例过程中写死了grant_type是authorization_code的要post请求,要想修改要么不用要么自己写一个OAuthAuthzRequest,重写那个限制地方的方法。
获取access_token后向资源服务器请求资源时,access_token可以用get拼在url上,这种方式十分不建议,可以post,本次是通过bearer的方式,写在header的Authorization里,如
Authorization:Bearer accessToken,获取的时候newBearerHeaderTokenExtractor().getAccessToken(request);
- 关于OAuth2.0认证的理解和java实现
- 转载和积累系列 - 关于Oauth2.0认证授权体系
- Google OAuth2.0 Java 认证
- 新浪微博OAuth2.0认证理解
- 新浪微博OAuth2.0认证理解
- OAuth2.0的认证流程
- OAuth2.0 的理解
- OAUth2.的授权的原理和认证
- 使用Python实现OAuth2.0认证服务器
- OAuth2.0认证和授权原理
- oauth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- oauth2.0认证和授权原理
- eWorld.ASP.Maker.v2017.0.3.x86.Incl.Keygen-DARKSiDERS
- java BpDeep
- Web服务器点击劫持(ClickJacking)的安全防范
- 微信小程序与H5的区别
- 腾讯云Centos7安装Apache +MySQL+PHP +JDK +Tomcat
- 关于OAuth2.0认证的理解和java实现
- 【Spring】——环境搭建
- JavaScript深入浅出——语句(三)
- Hibernate关系映射一对多
- 欢迎使用CSDN-markdown编辑器
- 类型兼容性原则
- 策略模式Strategy
- static关键字
- /*2017年1月10日*/日志