AuthorizationServerSettingsAutoConfiguration.kt
package io.github.lishangbu.avalon.oauth2.authorizationserver.autoconfiguration
import io.github.lishangbu.avalon.oauth2.common.properties.Oauth2Properties
import org.springframework.boot.autoconfigure.AutoConfiguration
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.context.annotation.Bean
import org.springframework.security.oauth2.server.authorization.settings.AuthorizationServerSettings
import org.springframework.security.web.util.UrlUtils
/**
* 授权服务器设置自动配置
*
* 根据配置构建默认的 [AuthorizationServerSettings]
*/
@AutoConfiguration
class AuthorizationServerSettingsAutoConfiguration {
/** 创建授权服务器设置 */
@Bean
@ConditionalOnMissingBean
fun authorizationServerSettings(properties: Oauth2Properties): AuthorizationServerSettings {
val builder = AuthorizationServerSettings.builder()
val issuerUrl = properties.issuerUrl
if (issuerUrl != null && UrlUtils.isAbsoluteUrl(issuerUrl)) {
builder.issuer(issuerUrl)
}
return builder.build()
}
}