新增sa-token-oauth2 注解鉴权

This commit is contained in:
click33
2024-08-25 14:02:50 +08:00
parent 6a9f25093d
commit beb958f274
23 changed files with 698 additions and 175 deletions

View File

@@ -15,7 +15,14 @@
*/
package cn.dev33.satoken.spring.oauth2;
import cn.dev33.satoken.annotation.handler.SaAnnotationHandlerInterface;
import cn.dev33.satoken.oauth2.SaOAuth2Manager;
import cn.dev33.satoken.oauth2.annotation.SaCheckAccessToken;
import cn.dev33.satoken.oauth2.annotation.SaCheckClientIdSecret;
import cn.dev33.satoken.oauth2.annotation.SaCheckClientToken;
import cn.dev33.satoken.oauth2.annotation.handler.SaCheckAccessTokenHandler;
import cn.dev33.satoken.oauth2.annotation.handler.SaCheckClientIdSecretHandler;
import cn.dev33.satoken.oauth2.annotation.handler.SaCheckClientTokenHandler;
import cn.dev33.satoken.oauth2.config.SaOAuth2ServerConfig;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -41,4 +48,31 @@ public class SaOAuth2BeanRegister {
return new SaOAuth2ServerConfig();
}
// 自定义注解处理器
@Bean
public SaAnnotationHandlerInterface<SaCheckAccessToken> getSaCheckAccessTokenHandler() {
return new SaCheckAccessTokenHandler();
}
@Bean
public SaAnnotationHandlerInterface<SaCheckClientToken> getSaCheckClientTokenHandler() {
return new SaCheckClientTokenHandler();
}
@Bean
public SaAnnotationHandlerInterface<SaCheckClientIdSecret> getSaCheckClientIdSecretHandler() {
return new SaCheckClientIdSecretHandler();
}
/*
// 这种写法有问题,当项目还有自定义的注解处理器时,项目中的自定义注解处理器将会覆盖掉此处 List 中的注解处理器
// @Bean
// public List<SaAnnotationHandlerInterface<?>> getXxx() {
// return Arrays.asList(
// new SaCheckAccessTokenHandler(),
// new SaCheckClientTokenHandler(),
// new SaCheckClientSecretHandler()
// );
// }
*/
}