最近对OAuth2进行了研究,官网地址:http://oauth.net/2/
发现支持java的有好多个,综合考虑最终选择了Spring Security for OAuth
wiki地址:https://github.com/spring-projects/spring-security-oauth/wiki/oAuth2
spring-security-oauth2-2.0.0.BUILD-SNAPSHOT.jar中比较重要的地方
一、org.springframework.security.oauth2.config.xml这个包主要用来解析配置文件
1.AuthorizationServerBeanDefinitionParser授权服务器
2.ResourceServerBeanDefinitionParser资源服务器
二、org.springframework.security.oauth2.provider.endpoint这个包主要用来提供服务
1.AuthorizationEndpoint主要是用来获取code。当然如果支持ImplicitGrant,也可以直接获取token,适用于无Server应用。
2.TokenEndpoint主要是用来获取token。当然如果支持RefreshToken,也可以用来当token过期后使用该接口刷新token。
三、org.springframework.security.oauth2.common.exceptions这个包列出了OAuth2中所有可能产生的异常类型以及序列化反序列化
1.OAuth2Exception定义了OAuth2中的所有异常情况
2.OAuth2ExceptionJackson1Serializer异常序列化类,需要扩展自定义其他一些异常情况
四、filter
1.org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter验证登陆用户信息2.org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter验证客户端信息
发现支持java的有好多个,综合考虑最终选择了Spring Security for OAuth
wiki地址:https://github.com/spring-projects/spring-security-oauth/wiki/oAuth2
spring-security-oauth2-2.0.0.BUILD-SNAPSHOT.jar中比较重要的地方
一、org.springframework.security.oauth2.config.xml这个包主要用来解析配置文件
1.AuthorizationServerBeanDefinitionParser授权服务器
2.ResourceServerBeanDefinitionParser资源服务器
二、org.springframework.security.oauth2.provider.endpoint这个包主要用来提供服务
1.AuthorizationEndpoint主要是用来获取code。当然如果支持ImplicitGrant,也可以直接获取token,适用于无Server应用。
2.TokenEndpoint主要是用来获取token。当然如果支持RefreshToken,也可以用来当token过期后使用该接口刷新token。
三、org.springframework.security.oauth2.common.exceptions这个包列出了OAuth2中所有可能产生的异常类型以及序列化反序列化
1.OAuth2Exception定义了OAuth2中的所有异常情况
2.OAuth2ExceptionJackson1Serializer异常序列化类,需要扩展自定义其他一些异常情况
四、filter
1.org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter验证登陆用户信息2.org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter验证客户端信息
本文详细介绍了如何使用Spring Security for OAuth2进行身份验证和授权,并提供了关键组件的使用说明,包括配置文件解析、服务提供、异常处理及过滤器应用。
3201

被折叠的 条评论
为什么被折叠?



