package org.apereo.cas.configuration.model.support.oidc; import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; /** * This is {@link OidcProperties}. * * @author Misagh Moayyed * @since 5.0.0 */ public class OidcProperties { private int jwksCacheInMinutes = 60; private String issuer = "http://localhost:8080/cas/oidc"; private int skew = 5; private Resource jwksFile = new FileSystemResource("/etc/cas/keystore.jwks"); private String dynamicClientRegistrationMode; private List<String> scopes = Arrays.asList("openid", "profile", "email", "address", "phone", "offline_access"); private List<String> claims = Arrays.asList("sub", "name", "preferred_username", "family_name", "given_name", "middle_name", "given_name", "profile", "picture", "nickname", "website", "zoneinfo", "locale", "updated_at", "birthdate", "email", "email_verified", "phone_number", "phone_number_verified", "address"); private List<String> subjectTypes = Arrays.asList("public"); private Map<String, String> userDefinedScopes = new HashMap<>(); private Map<String, String> claimsMap = new HashMap<>(); public Map<String, String> getClaimsMap() { return claimsMap; } public void setClaimsMap(final Map<String, String> claimsMap) { this.claimsMap = claimsMap; } public Map<String, String> getUserDefinedScopes() { return userDefinedScopes; } public void setUserDefinedScopes(final Map<String, String> userDefinedScopes) { this.userDefinedScopes = userDefinedScopes; } public int getJwksCacheInMinutes() { return jwksCacheInMinutes; } public void setJwksCacheInMinutes(final int jwksCacheInMinutes) { this.jwksCacheInMinutes = jwksCacheInMinutes; } public List<String> getSubjectTypes() { return subjectTypes; } public void setSubjectTypes(final List<String> subjectTypes) { this.subjectTypes = subjectTypes; } public List<String> getClaims() { return claims; } public void setClaims(final List<String> claims) { this.claims = claims; } public List<String> getScopes() { return scopes; } public void setScopes(final List<String> scopes) { this.scopes = scopes; } public String getDynamicClientRegistrationMode() { return dynamicClientRegistrationMode; } public void setDynamicClientRegistrationMode(final String dynamicClientRegistrationMode) { this.dynamicClientRegistrationMode = dynamicClientRegistrationMode; } public String getIssuer() { return issuer; } public void setIssuer(final String issuer) { this.issuer = issuer; } public int getSkew() { return skew; } public void setSkew(final int skew) { this.skew = skew; } public Resource getJwksFile() { return jwksFile; } public void setJwksFile(final Resource jwksFile) { this.jwksFile = jwksFile; } }