优化第三方授权登录

This commit is contained in:
thiszhc
2023-06-15 19:30:17 +08:00
parent 5110961eb9
commit 005e7df1b8
15 changed files with 113 additions and 381 deletions

View File

@ -17,7 +17,7 @@ import org.springframework.context.annotation.Bean;
public class SocialConfig {
@Bean
public AuthStateCache redis() {
public AuthStateCache authStateCache() {
return new AuthRedisStateCache();
}

View File

@ -3,7 +3,7 @@ package org.dromara.common.social.config.properties;
import lombok.Data;
@Data
public class ConfigProperties {
public class SocialLoginConfigProperties {
/**
* 应用 ID

View File

@ -24,7 +24,7 @@ public class SocialProperties {
/**
* 授权类型
*/
private Map<String, ConfigProperties> type;
private Map<String, SocialLoginConfigProperties> type;
/**
* 授权过期时间

View File

@ -12,21 +12,7 @@ import java.time.Duration;
public class AuthRedisStateCache implements AuthStateCache {
private final SocialProperties socialProperties;
private final RedisTemplate<String, String> redisTemplate;
private ValueOperations<String, String> valueOperations;
@PostConstruct
public void init() {
valueOperations = redisTemplate.opsForValue();
}
public AuthRedisStateCache() {
this.socialProperties = new SocialProperties();
redisTemplate = new RedisTemplate<>();
}
private SocialProperties socialProperties;
/**
* 存入缓存

View File

@ -19,17 +19,17 @@ public class SocialUtils {
AuthRequest authRequest = null;
switch (source.toLowerCase()) {
case "dingtalk" ->
authRequest = new AuthDingTalkRequest(AuthConfig.builder().
clientId(clientId).
clientSecret(clientSecret)
.redirectUri(redirectUri).
build());
authRequest = new AuthDingTalkRequest(AuthConfig.builder()
.clientId(clientId)
.clientSecret(clientSecret)
.redirectUri(redirectUri)
.build());
case "baidu" ->
authRequest = new AuthBaiduRequest(AuthConfig.builder().
clientId(clientId).
clientSecret(clientSecret)
.redirectUri(redirectUri).
build());
authRequest = new AuthBaiduRequest(AuthConfig.builder()
.clientId(clientId)
.clientSecret(clientSecret)
.redirectUri(redirectUri)
.build());
case "github" ->
authRequest = new AuthGithubRequest(AuthConfig.builder().clientId(clientId).clientSecret(clientSecret)
.redirectUri(redirectUri).build());