
club.zhcs.lina.starter.oidc.OpenIDConnectConfigurationProperties Maven / Gradle / Ivy
package club.zhcs.lina.starter.oidc;
import java.net.URI;
import org.springframework.boot.context.properties.ConfigurationProperties;
import club.zhcs.lina.auth.service.CookieSettings;
import lombok.Data;
/**
*
*/
@Data
@ConfigurationProperties("lina.oidc")
public class OpenIDConnectConfigurationProperties {
/**
* 启用
*/
boolean enabled = false;
/**
* OIDC 发现地址
*/
private String discoveryUrl;
/**
* 客户端ID
*/
private String clientId;
/**
* 客户端秘钥
*/
private String clientSecret;
/**
* 回调地址前缀
*/
private String callbackPrefix;
/**
* 用户详情接口地址前缀,如果没有设置将会自动根据iam地址计算
*/
private String userDetailEndpiontPrefix;
/**
* cookie 设置
*/
private CookieSettings cookieSettings = CookieSettings.builder().build();
/**
* 回调成功显示页面地址
*/
private String hanlderSuccessPage;
/**
* 回调处理器类型
*/
private Type callbackHanlderType = Type.REDIRECT;
public enum Type {
COOKIE, REDIRECT
}
public String iam() {
URI uri = URI.create(discoveryUrl);
return String.format("%s://%s", uri.getScheme(), uri.getHost());
}
/**
* @return
*/
public String getRedirectUrl() {
return String.format("%s/oauth2/oidc/callback", callbackPrefix);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy