package cn.iocoder.yudao.module.system.framework.justauth.config; import cn.iocoder.yudao.module.system.framework.justauth.core.AuthRequestFactory; import com.xkcoding.justauth.autoconfigure.JustAuthProperties; import com.xkcoding.justauth.support.cache.RedisStateCache; import me.zhyd.oauth.cache.AuthStateCache; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.core.RedisTemplate; /** * JustAuth 配置类 TODO 芋艿:等 justauth 1.4.1 版本发布!!! * * @author 芋道源码 */ @Configuration(proxyBeanMethods = false) @EnableConfigurationProperties({JustAuthProperties.class}) public class YudaoJustAuthConfiguration { @Bean @ConditionalOnProperty( prefix = "justauth", value = {"enabled"}, havingValue = "true", matchIfMissing = true ) public AuthRequestFactory authRequestFactory(JustAuthProperties properties, AuthStateCache authStateCache) { return new AuthRequestFactory(properties, authStateCache); } @Bean public AuthStateCache authStateCache(RedisTemplate justAuthRedisCacheTemplate, JustAuthProperties justAuthProperties) { return new RedisStateCache(justAuthRedisCacheTemplate, justAuthProperties.getCache()); } }