keycloak-service
公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 静的関数 | 静的変数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.protocol.saml.SamlProtocolFactory クラス
org.keycloak.protocol.saml.SamlProtocolFactory の継承関係図
Inheritance graph
org.keycloak.protocol.saml.SamlProtocolFactory 連携図
Collaboration graph

公開メンバ関数

Object createProtocolEndpoint (RealmModel realm, EventBuilder event)
 
LoginProtocol create (KeycloakSession session)
 
void init (Config.Scope config)
 
String getId ()
 
Map< String, ProtocolMapperModel > getBuiltinMappers ()
 
void setupClientDefaults (ClientRepresentation clientRep, ClientModel newClient)
 

静的公開変数類

static final String SCOPE_ROLE_LIST = "role_list"
 

限定公開メンバ関数

void createDefaultClientScopesImpl (RealmModel newRealm)
 
void addDefaults (ClientModel client)
 

静的関数

 [static initializer]
 

静的変数

static Map< String, ProtocolMapperModel > builtins = new HashMap<>()
 
static List< ProtocolMapperModel > defaultBuiltins = new ArrayList<>()
 

非公開変数類

DestinationValidator destinationValidator
 

静的非公開変数類

static final String ROLE_LIST_CONSENT_TEXT = "${samlRoleListScopeConsentText}"
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ [static initializer]()

org.keycloak.protocol.saml.SamlProtocolFactory.[static initializer] ( )
inlinestaticpackage

◆ addDefaults()

void org.keycloak.protocol.saml.SamlProtocolFactory.addDefaults ( ClientModel  client)
inlineprotected
130  {
131  }

◆ create()

LoginProtocol org.keycloak.protocol.saml.SamlProtocolFactory.create ( KeycloakSession  session)
inline
63  {
64  return new SamlProtocol().setSession(session);
65  }

◆ createDefaultClientScopesImpl()

void org.keycloak.protocol.saml.SamlProtocolFactory.createDefaultClientScopesImpl ( RealmModel  newRealm)
inlineprotected
119  {
120  ClientScopeModel roleListScope = newRealm.addClientScope(SCOPE_ROLE_LIST);
121  roleListScope.setDescription("SAML role list");
122  roleListScope.setDisplayOnConsentScreen(true);
123  roleListScope.setConsentScreenText(ROLE_LIST_CONSENT_TEXT);
124  roleListScope.setProtocol(getId());
125  roleListScope.addProtocolMapper(builtins.get("role list"));
126  newRealm.addDefaultClientScope(roleListScope, true);
127  }
String getId()
Definition: SamlProtocolFactory.java:76
static final String SCOPE_ROLE_LIST
Definition: SamlProtocolFactory.java:52
static final String ROLE_LIST_CONSENT_TEXT
Definition: SamlProtocolFactory.java:53
static Map< String, ProtocolMapperModel > builtins
Definition: SamlProtocolFactory.java:85

◆ createProtocolEndpoint()

Object org.keycloak.protocol.saml.SamlProtocolFactory.createProtocolEndpoint ( RealmModel  realm,
EventBuilder  event 
)
inline
58  {
59  return new SamlService(realm, event, destinationValidator);
60  }
DestinationValidator destinationValidator
Definition: SamlProtocolFactory.java:55

◆ getBuiltinMappers()

Map<String, ProtocolMapperModel> org.keycloak.protocol.saml.SamlProtocolFactory.getBuiltinMappers ( )
inline
81  {
82  return builtins;
83  }
static Map< String, ProtocolMapperModel > builtins
Definition: SamlProtocolFactory.java:85

◆ getId()

String org.keycloak.protocol.saml.SamlProtocolFactory.getId ( )
inline
76  {
77  return SamlProtocol.LOGIN_PROTOCOL;
78  }

◆ init()

void org.keycloak.protocol.saml.SamlProtocolFactory.init ( Config.Scope  config)
inline
68  {
69  //PicketLinkCoreSTS sts = PicketLinkCoreSTS.instance();
70  //sts.installDefaultConfiguration();
71 
72  this.destinationValidator = DestinationValidator.forProtocolMap(config.getArray("knownProtocols"));
73  }
DestinationValidator destinationValidator
Definition: SamlProtocolFactory.java:55

◆ setupClientDefaults()

void org.keycloak.protocol.saml.SamlProtocolFactory.setupClientDefaults ( ClientRepresentation  clientRep,
ClientModel  newClient 
)
inline
134  {
135  SamlRepresentationAttributes rep = new SamlRepresentationAttributes(clientRep.getAttributes());
136  SamlClient client = new SamlClient(newClient);
137  if (clientRep.isStandardFlowEnabled() == null) newClient.setStandardFlowEnabled(true);
138  if (rep.getCanonicalizationMethod() == null) {
139  client.setCanonicalizationMethod(CanonicalizationMethod.EXCLUSIVE);
140  }
141  if (rep.getSignatureAlgorithm() == null) {
142  client.setSignatureAlgorithm(SignatureAlgorithm.RSA_SHA256);
143  }
144 
145  if (rep.getNameIDFormat() == null) {
146  client.setNameIDFormat("username");
147  }
148 
149  if (rep.getIncludeAuthnStatement() == null) {
150  client.setIncludeAuthnStatement(true);
151  }
152 
153  if (rep.getForceNameIDFormat() == null) {
154  client.setForceNameIDFormat(false);
155  }
156 
157  if (rep.getSamlServerSignature() == null) {
158  client.setRequiresRealmSignature(true);
159  }
160  if (rep.getForcePostBinding() == null) {
161  client.setForcePostBinding(true);
162  }
163 
164  if (rep.getClientSignature() == null) {
165  client.setRequiresClientSignature(true);
166  }
167 
168  if (client.requiresClientSignature() && client.getClientSigningCertificate() == null) {
169  CertificateRepresentation info = KeycloakModelUtils.generateKeyPairCertificate(newClient.getClientId());
170  client.setClientSigningCertificate(info.getCertificate());
171  client.setClientSigningPrivateKey(info.getPrivateKey());
172 
173  }
174 
175  if (clientRep.isFrontchannelLogout() == null) {
176  newClient.setFrontchannelLogout(true);
177  }
178  }

メンバ詳解

◆ builtins

Map<String, ProtocolMapperModel> org.keycloak.protocol.saml.SamlProtocolFactory.builtins = new HashMap<>()
staticpackage

◆ defaultBuiltins

List<ProtocolMapperModel> org.keycloak.protocol.saml.SamlProtocolFactory.defaultBuiltins = new ArrayList<>()
staticpackage

◆ destinationValidator

DestinationValidator org.keycloak.protocol.saml.SamlProtocolFactory.destinationValidator
private

◆ ROLE_LIST_CONSENT_TEXT

final String org.keycloak.protocol.saml.SamlProtocolFactory.ROLE_LIST_CONSENT_TEXT = "${samlRoleListScopeConsentText}"
staticprivate

◆ SCOPE_ROLE_LIST

final String org.keycloak.protocol.saml.SamlProtocolFactory.SCOPE_ROLE_LIST = "role_list"
static

このクラス詳解は次のファイルから抽出されました: