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

公開メンバ関数

List< ProviderConfigProperty > getConfigProperties ()
 
String getId ()
 
String getDisplayType ()
 
String getDisplayCategory ()
 
String getHelpText ()
 
AccessToken transformAccessToken (AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)
 
String getProtocol ()
 
void close ()
 
final ProtocolMapper create (KeycloakSession session)
 
void init (Config.Scope config)
 
void postInit (KeycloakSessionFactory factory)
 
AccessToken transformUserInfoToken (AccessToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)
 
IDToken transformIDToken (IDToken token, ProtocolMapperModel mappingModel, KeycloakSession session, UserSessionModel userSession, AuthenticatedClientSessionModel clientSession)
 

静的公開メンバ関数

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 = "oidc-role-name-mapper"
 
static final String TOKEN_MAPPER_CATEGORY = "Token mapper"
 

限定公開メンバ関数

void setClaim (IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)
 
void setClaim (IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession, KeycloakSession keycloakSession)
 

静的関数

 [static initializer]
 

静的非公開変数類

static final List< ProviderConfigProperty > configProperties = 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.oidc.mappers.RoleNameMapper.[static initializer] ( )
inlinestaticpackage

◆ close()

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.close ( )
inlineinherited
45  {
46 
47  }

◆ create() [1/2]

final ProtocolMapper org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.create ( KeycloakSession  session)
inlineinherited
50  {
51  throw new RuntimeException("UNSUPPORTED METHOD");
52  }

◆ create() [2/2]

static ProtocolMapperModel org.keycloak.protocol.oidc.mappers.RoleNameMapper.create ( String  name,
String  role,
String  newName 
)
inlinestatic
130  {
131  String mapperId = PROVIDER_ID;
132  ProtocolMapperModel mapper = new ProtocolMapperModel();
133  mapper.setName(name);
134  mapper.setProtocolMapper(mapperId);
135  mapper.setProtocol(OIDCLoginProtocol.LOGIN_PROTOCOL);
136  Map<String, String> config = new HashMap<String, String>();
137  config.put(ROLE_CONFIG, role);
138  config.put(NEW_ROLE_NAME, newName);
139  mapper.setConfig(config);
140  return mapper;
141 
142  }
static String NEW_ROLE_NAME
Definition: RoleNameMapper.java:45
static final String PROVIDER_ID
Definition: RoleNameMapper.java:63
static final String ROLE_CONFIG
Definition: RoleNameMapper.java:44

◆ getConfigProperties()

List<ProviderConfigProperty> org.keycloak.protocol.oidc.mappers.RoleNameMapper.getConfigProperties ( )
inline
66  {
67  return configProperties;
68  }
static final List< ProviderConfigProperty > configProperties
Definition: RoleNameMapper.java:42

◆ getDisplayCategory()

String org.keycloak.protocol.oidc.mappers.RoleNameMapper.getDisplayCategory ( )
inline
81  {
82  return TOKEN_MAPPER_CATEGORY;
83  }
static final String TOKEN_MAPPER_CATEGORY
Definition: AbstractOIDCProtocolMapper.java:37

◆ getDisplayType()

String org.keycloak.protocol.oidc.mappers.RoleNameMapper.getDisplayType ( )
inline
76  {
77  return "Role Name Mapper";
78  }

◆ getHelpText()

String org.keycloak.protocol.oidc.mappers.RoleNameMapper.getHelpText ( )
inline
86  {
87  return "Map an assigned role to a new name or position in the token.";
88  }

◆ getId()

String org.keycloak.protocol.oidc.mappers.RoleNameMapper.getId ( )
inline
71  {
72  return PROVIDER_ID;
73  }
static final String PROVIDER_ID
Definition: RoleNameMapper.java:63

◆ getProtocol()

String org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.getProtocol ( )
inlineinherited
40  {
41  return OIDCLoginProtocol.LOGIN_PROTOCOL;
42  }

◆ init()

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.init ( Config.Scope  config)
inlineinherited
55  {
56  }

◆ postInit()

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.postInit ( KeycloakSessionFactory  factory)
inlineinherited
59  {
60 
61  }

◆ setClaim() [1/2]

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.setClaim ( IDToken  token,
ProtocolMapperModel  mappingModel,
UserSessionModel  userSession 
)
inlineprotectedinherited

Intended to be overridden in ProtocolMapper implementations to add claims to an token.

引数
token
mappingModel
userSession
非推奨:
override setClaim(IDToken, ProtocolMapperModel, UserSessionModel, KeycloakSession) instead.
105  {
106  }

◆ setClaim() [2/2]

void org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.setClaim ( IDToken  token,
ProtocolMapperModel  mappingModel,
UserSessionModel  userSession,
KeycloakSession  keycloakSession 
)
inlineprotectedinherited

Intended to be overridden in ProtocolMapper implementations to add claims to an token.

引数
token
mappingModel
userSession
keycloakSession
115  {
116  // we delegate to the old #setClaim(...) method for backwards compatibility
117  setClaim(token, mappingModel, userSession);
118  }
void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)
Definition: AbstractOIDCProtocolMapper.java:105

◆ transformAccessToken()

AccessToken org.keycloak.protocol.oidc.mappers.RoleNameMapper.transformAccessToken ( AccessToken  token,
ProtocolMapperModel  mappingModel,
KeycloakSession  session,
UserSessionModel  userSession,
AuthenticatedClientSessionModel  clientSession 
)
inline

org.keycloak.protocol.oidc.mappers.OIDCAccessTokenMapperを実装しています。

92  {
93  String role = mappingModel.getConfig().get(ROLE_CONFIG);
94  String newName = mappingModel.getConfig().get(NEW_ROLE_NAME);
95 
96  String[] scopedRole = KeycloakModelUtils.parseRole(role);
97  String[] newScopedRole = KeycloakModelUtils.parseRole(newName);
98  String appName = scopedRole[0];
99  String roleName = scopedRole[1];
100  if (appName != null) {
101  AccessToken.Access access = token.getResourceAccess(appName);
102  if (access == null) return token;
103  if (!access.getRoles().contains(roleName)) return token;
104  access.getRoles().remove(roleName);
105  } else {
106  AccessToken.Access access = token.getRealmAccess();
107  if (access == null || !access.getRoles().contains(roleName)) return token;
108  access.getRoles().remove(roleName);
109  }
110 
111  String newAppName = newScopedRole[0];
112  String newRoleName = newScopedRole[1];
113  AccessToken.Access access = null;
114  if (newAppName == null) {
115  access = token.getRealmAccess();
116  if (access == null) {
117  access = new AccessToken.Access();
118  token.setRealmAccess(access);
119  }
120  } else {
121  access = token.addAccess(newAppName);
122  }
123 
124  access.addRole(newRoleName);
125  return token;
126  }
static String NEW_ROLE_NAME
Definition: RoleNameMapper.java:45
static final String ROLE_CONFIG
Definition: RoleNameMapper.java:44

◆ transformIDToken()

IDToken org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.transformIDToken ( IDToken  token,
ProtocolMapperModel  mappingModel,
KeycloakSession  session,
UserSessionModel  userSession,
AuthenticatedClientSessionModel  clientSession 
)
inlineinherited
86  {
87 
88  if (!OIDCAttributeMapperHelper.includeInIDToken(mappingModel)){
89  return token;
90  }
91 
92  setClaim(token, mappingModel, userSession, session);
93  return token;
94  }
void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)
Definition: AbstractOIDCProtocolMapper.java:105

◆ transformUserInfoToken()

AccessToken org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.transformUserInfoToken ( AccessToken  token,
ProtocolMapperModel  mappingModel,
KeycloakSession  session,
UserSessionModel  userSession,
AuthenticatedClientSessionModel  clientSession 
)
inlineinherited
64  {
65 
66  if (!OIDCAttributeMapperHelper.includeInUserInfo(mappingModel)) {
67  return token;
68  }
69 
70  setClaim(token, mappingModel, userSession, session);
71  return token;
72  }
void setClaim(IDToken token, ProtocolMapperModel mappingModel, UserSessionModel userSession)
Definition: AbstractOIDCProtocolMapper.java:105

メンバ詳解

◆ configProperties

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

◆ NEW_ROLE_NAME

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

◆ PROVIDER_ID

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

◆ ROLE_CONFIG

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

◆ TOKEN_MAPPER_CATEGORY

final String org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper.TOKEN_MAPPER_CATEGORY = "Token mapper"
staticinherited

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