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

公開メンバ関数

List< ProviderConfigPropertygetConfigProperties ()
 
String getId ()
 
String getDisplayType ()
 
String getDisplayCategory ()
 
String getHelpText ()
 
String mapName (ProtocolMapperModel model, RoleModel roleModel)
 
String getProtocol ()
 
void close ()
 
void init (Config.Scope config)
 
final ProtocolMapper create (KeycloakSession session)
 
void postInit (KeycloakSessionFactory factory)
 
default void validateConfig (KeycloakSession session, RealmModel realm, ProtocolMapperContainerModel client, ProtocolMapperModel mapperModel) throws ProtocolMapperConfigException
 
default int order ()
 

静的公開メンバ関数

static ProtocolMapperModel create (String name, String role, String newName)
 

静的公開変数類

static final String ROLE_CONFIG = "role"
 
static String NEW_ROLE_NAME = "new.role.name"
 
static final String PROVIDER_ID = "saml-role-name-mapper"
 

静的関数

 [static initializer]
 

静的非公開変数類

static final List< ProviderConfigPropertyconfigProperties = new ArrayList<ProviderConfigProperty>()
 

詳解

Map an assigned role to a different position and name in the token

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ [static initializer]()

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

◆ close()

void org.keycloak.protocol.saml.mappers.RoleNameMapper.close ( )
inline

org.keycloak.provider.Providerを実装しています。

134  {
135  }

◆ create() [1/2]

static ProtocolMapperModel org.keycloak.protocol.saml.mappers.RoleNameMapper.create ( String  name,
String  role,
String  newName 
)
inlinestatic
114  {
115  String mapperId = PROVIDER_ID;
116  ProtocolMapperModel mapper = new ProtocolMapperModel();
117  mapper.setName(name);
118  mapper.setProtocolMapper(mapperId);
119  mapper.setProtocol(SamlProtocol.LOGIN_PROTOCOL);
120  Map<String, String> config = new HashMap<String, String>();
121  config.put(ROLE_CONFIG, role);
122  config.put(NEW_ROLE_NAME, newName);
123  mapper.setConfig(config);
124  return mapper;
125 
126  }
static final String PROVIDER_ID
Definition: RoleNameMapper.java:65
static String NEW_ROLE_NAME
Definition: RoleNameMapper.java:47
static final String ROLE_CONFIG
Definition: RoleNameMapper.java:46

◆ create() [2/2]

final ProtocolMapper org.keycloak.protocol.saml.mappers.RoleNameMapper.create ( KeycloakSession  session)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

142  {
143  throw new RuntimeException("UNSUPPORTED METHOD");
144  }

◆ getConfigProperties()

List<ProviderConfigProperty> org.keycloak.protocol.saml.mappers.RoleNameMapper.getConfigProperties ( )
inline

org.keycloak.provider.ConfiguredProviderを実装しています。

68  {
69  return configProperties;
70  }
static final List< ProviderConfigProperty > configProperties
Definition: RoleNameMapper.java:44

◆ getDisplayCategory()

String org.keycloak.protocol.saml.mappers.RoleNameMapper.getDisplayCategory ( )
inline

org.keycloak.protocol.ProtocolMapperを実装しています。

80  {
81  return "Role Mapper";
82 
83  }

◆ getDisplayType()

String org.keycloak.protocol.saml.mappers.RoleNameMapper.getDisplayType ( )
inline

org.keycloak.protocol.ProtocolMapperを実装しています。

76  {
77  return "Role Name Mapper";
78  }

◆ getHelpText()

String org.keycloak.protocol.saml.mappers.RoleNameMapper.getHelpText ( )
inline

org.keycloak.provider.ConfiguredProviderを実装しています。

85  {
86  return "Map an assigned role to a new name";
87  }

◆ getId()

String org.keycloak.protocol.saml.mappers.RoleNameMapper.getId ( )
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

72  {
73  return PROVIDER_ID;
74  }
static final String PROVIDER_ID
Definition: RoleNameMapper.java:65

◆ getProtocol()

String org.keycloak.protocol.saml.mappers.RoleNameMapper.getProtocol ( )
inline

org.keycloak.protocol.ProtocolMapperを実装しています。

129  {
130  return SamlProtocol.LOGIN_PROTOCOL;
131  }

◆ init()

void org.keycloak.protocol.saml.mappers.RoleNameMapper.init ( Config.Scope  config)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

138  {
139  }

◆ mapName()

String org.keycloak.protocol.saml.mappers.RoleNameMapper.mapName ( ProtocolMapperModel  model,
RoleModel  roleModel 
)
inline

org.keycloak.protocol.saml.mappers.SAMLRoleNameMapperを実装しています。

90  {
91  RoleContainerModel container = roleModel.getContainer();
92  ClientModel app = null;
93  if (container instanceof ClientModel) {
94  app = ((ClientModel) container);
95  }
96  String role = model.getConfig().get(ROLE_CONFIG);
97  String newName = model.getConfig().get(NEW_ROLE_NAME);
98  String appName = null;
99  int scopeIndex = role.indexOf('.');
100  if (scopeIndex > -1) {
101  if (app == null) return null;
102  appName = role.substring(0, scopeIndex);
103  if (!app.getClientId().equals(appName)) return null;
104  role = role.substring(scopeIndex + 1);
105  } else {
106  if (app != null) return null;
107  }
108  if (roleModel.getName().equals(role)) return newName;
109  return null;
110  }
static String NEW_ROLE_NAME
Definition: RoleNameMapper.java:47
static final String ROLE_CONFIG
Definition: RoleNameMapper.java:46

◆ order()

default int org.keycloak.provider.ProviderFactory< T extends Provider >.order ( )
inlineinherited

◆ postInit()

void org.keycloak.protocol.saml.mappers.RoleNameMapper.postInit ( KeycloakSessionFactory  factory)
inline

org.keycloak.provider.ProviderFactory< T extends Provider >を実装しています。

147  {
148 
149  }

◆ validateConfig()

default void org.keycloak.protocol.ProtocolMapper.validateConfig ( KeycloakSession  session,
RealmModel  realm,
ProtocolMapperContainerModel  client,
ProtocolMapperModel  mapperModel 
) throws ProtocolMapperConfigException
inlineinherited

Called when instance of mapperModel is created/updated for this protocolMapper through admin endpoint

引数
session
realm
clientclient or clientTemplate
mapperModel
例外
ProtocolMapperConfigExceptionif configuration provided in mapperModel is not valid

org.keycloak.protocol.saml.mappers.ScriptBasedMapper, org.keycloak.protocol.oidc.mappers.ScriptBasedOIDCProtocolMapper, org.keycloak.protocol.oidc.mappers.AbstractPairwiseSubMapperで実装されています。

46  {
47  };

メンバ詳解

◆ configProperties

final List<ProviderConfigProperty> org.keycloak.protocol.saml.mappers.RoleNameMapper.configProperties = new ArrayList<ProviderConfigProperty>()
staticprivate

◆ NEW_ROLE_NAME

String org.keycloak.protocol.saml.mappers.RoleNameMapper.NEW_ROLE_NAME = "new.role.name"
static

◆ PROVIDER_ID

final String org.keycloak.protocol.saml.mappers.RoleNameMapper.PROVIDER_ID = "saml-role-name-mapper"
static

◆ ROLE_CONFIG

final String org.keycloak.protocol.saml.mappers.RoleNameMapper.ROLE_CONFIG = "role"
static

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