keycloak-service
公開メンバ関数 | 静的公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.protocol.oidc.OIDCLoginProtocolService クラス
org.keycloak.protocol.oidc.OIDCLoginProtocolService 連携図
Collaboration graph

公開メンバ関数

 OIDCLoginProtocolService (RealmModel realm, EventBuilder event)
 
Object auth ()
 
Object registerPage ()
 
Object forgotCredentialsPage ()
 
Object token ()
 
Object getLoginStatusIframe ()
 
Response getVersionPreflight ()
 
Response certs ()
 
Object issueUserInfo ()
 
Object logout ()
 
Response installedAppUrnCallback (final @QueryParam("code") String code, final @QueryParam("error") String error, final @QueryParam("error_description") String errorDescription)
 
Response kcinitBrowserLoginComplete (@QueryParam("error") boolean error)
 
Object resolveExtension (@PathParam("extension") String extension)
 

静的公開メンバ関数

static UriBuilder tokenServiceBaseUrl (UriInfo uriInfo)
 
static UriBuilder tokenServiceBaseUrl (UriBuilder baseUriBuilder)
 
static UriBuilder authUrl (UriInfo uriInfo)
 
static UriBuilder authUrl (UriBuilder baseUriBuilder)
 
static UriBuilder tokenUrl (UriBuilder baseUriBuilder)
 
static UriBuilder certsUrl (UriBuilder baseUriBuilder)
 
static UriBuilder userInfoUrl (UriBuilder baseUriBuilder)
 
static UriBuilder tokenIntrospectionUrl (UriBuilder baseUriBuilder)
 
static UriBuilder logoutUrl (UriInfo uriInfo)
 
static UriBuilder logoutUrl (UriBuilder baseUriBuilder)
 

非公開変数類

RealmModel realm
 
TokenManager tokenManager
 
EventBuilder event
 
KeycloakSession session
 
HttpHeaders headers
 
HttpRequest request
 
ClientConnection clientConnection
 

詳解

Resource class for the oauth/openid connect token service

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ OIDCLoginProtocolService()

org.keycloak.protocol.oidc.OIDCLoginProtocolService.OIDCLoginProtocolService ( RealmModel  realm,
EventBuilder  event 
)
inline
87  {
88  this.realm = realm;
89  this.tokenManager = new TokenManager();
90  this.event = event;
91  }
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
EventBuilder event
Definition: OIDCLoginProtocolService.java:73
TokenManager tokenManager
Definition: OIDCLoginProtocolService.java:72

関数詳解

◆ auth()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.auth ( )
inline

Authorization endpoint

145  {
146  AuthorizationEndpoint endpoint = new AuthorizationEndpoint(realm, event);
147  ResteasyProviderFactory.getInstance().injectProperties(endpoint);
148  return endpoint;
149  }
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
EventBuilder event
Definition: OIDCLoginProtocolService.java:73

◆ authUrl() [1/2]

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.authUrl ( UriInfo  uriInfo)
inlinestatic
102  {
103  UriBuilder baseUriBuilder = uriInfo.getBaseUriBuilder();
104  return authUrl(baseUriBuilder);
105  }
static UriBuilder authUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:102

◆ authUrl() [2/2]

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.authUrl ( UriBuilder  baseUriBuilder)
inlinestatic
107  {
108  UriBuilder uriBuilder = tokenServiceBaseUrl(baseUriBuilder);
109  return uriBuilder.path(OIDCLoginProtocolService.class, "auth");
110  }
OIDCLoginProtocolService(RealmModel realm, EventBuilder event)
Definition: OIDCLoginProtocolService.java:87
static UriBuilder tokenServiceBaseUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:93

◆ certs()

Response org.keycloak.protocol.oidc.OIDCLoginProtocolService.certs ( )
inline
199  {
200  List<JWK> keys = new LinkedList<>();
201  for (KeyWrapper k : session.keys().getKeys(realm)) {
202  if (k.getStatus().isEnabled() && k.getUse().equals(KeyUse.SIG) && k.getVerifyKey() != null) {
203  JWKBuilder b = JWKBuilder.create().kid(k.getKid()).algorithm(k.getAlgorithm());
204  if (k.getType().equals(KeyType.RSA)) {
205  keys.add(b.rsa(k.getVerifyKey()));
206  } else if (k.getType().equals(KeyType.EC)) {
207  keys.add(b.ec(k.getVerifyKey()));
208  }
209  }
210  }
211 
212  JSONWebKeySet keySet = new JSONWebKeySet();
213 
214  JWK[] k = new JWK[keys.size()];
215  k = keys.toArray(k);
216  keySet.setKeys(k);
217 
218  Response.ResponseBuilder responseBuilder = Response.ok(keySet).cacheControl(CacheControlUtil.getDefaultCacheControl());
219  return Cors.add(request, responseBuilder).allowedOrigins("*").auth().build();
220  }
KeycloakSession session
Definition: OIDCLoginProtocolService.java:76
HttpRequest request
Definition: OIDCLoginProtocolService.java:82
RealmModel realm
Definition: OIDCLoginProtocolService.java:71

◆ certsUrl()

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.certsUrl ( UriBuilder  baseUriBuilder)
inlinestatic
117  {
118  UriBuilder uriBuilder = tokenServiceBaseUrl(baseUriBuilder);
119  return uriBuilder.path(OIDCLoginProtocolService.class, "certs");
120  }
OIDCLoginProtocolService(RealmModel realm, EventBuilder event)
Definition: OIDCLoginProtocolService.java:87
static UriBuilder tokenServiceBaseUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:93

◆ forgotCredentialsPage()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.forgotCredentialsPage ( )
inline

Forgot-Credentials endpoint

165  {
166  AuthorizationEndpoint endpoint = new AuthorizationEndpoint(realm, event);
167  ResteasyProviderFactory.getInstance().injectProperties(endpoint);
168  return endpoint.forgotCredentials();
169  }
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
EventBuilder event
Definition: OIDCLoginProtocolService.java:73

◆ getLoginStatusIframe()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.getLoginStatusIframe ( )
inline
182  {
183  LoginStatusIframeEndpoint endpoint = new LoginStatusIframeEndpoint();
184  ResteasyProviderFactory.getInstance().injectProperties(endpoint);
185  return endpoint;
186  }

◆ getVersionPreflight()

Response org.keycloak.protocol.oidc.OIDCLoginProtocolService.getVersionPreflight ( )
inline
191  {
192  return Cors.add(request, Response.ok()).allowedMethods("GET").preflight().auth().build();
193  }
HttpRequest request
Definition: OIDCLoginProtocolService.java:82

◆ installedAppUrnCallback()

Response org.keycloak.protocol.oidc.OIDCLoginProtocolService.installedAppUrnCallback ( final @QueryParam("code") String  code,
final @QueryParam("error") String  error,
final @QueryParam("error_description") String  errorDescription 
)
inline
238  {
239  LoginFormsProvider forms = session.getProvider(LoginFormsProvider.class);
240  if (code != null) {
241  return forms.setClientSessionCode(code).createCode();
242  } else {
243  return forms.setError(error).createCode();
244  }
245  }
KeycloakSession session
Definition: OIDCLoginProtocolService.java:76

◆ issueUserInfo()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.issueUserInfo ( )
inline
223  {
224  UserInfoEndpoint endpoint = new UserInfoEndpoint(tokenManager, realm);
225  ResteasyProviderFactory.getInstance().injectProperties(endpoint);
226  return endpoint;
227  }
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
TokenManager tokenManager
Definition: OIDCLoginProtocolService.java:72

◆ kcinitBrowserLoginComplete()

Response org.keycloak.protocol.oidc.OIDCLoginProtocolService.kcinitBrowserLoginComplete ( @QueryParam("error") boolean  error)
inline

For KeycloakInstalled and kcinit login where command line login is delegated to a browser. This clears login cookies and outputs login success or failure messages.

引数
error
戻り値
256  {
257  AuthenticationManager.expireIdentityCookie(realm, session.getContext().getUri(), clientConnection);
258  AuthenticationManager.expireRememberMeCookie(realm, session.getContext().getUri(), clientConnection);
259  if (error) {
260  LoginFormsProvider forms = session.getProvider(LoginFormsProvider.class);
261  return forms
262  .setAttribute("messageHeader", forms.getMessage(Messages.DELEGATION_FAILED_HEADER))
263  .setAttribute(Constants.SKIP_LINK, true).setError(Messages.DELEGATION_FAILED).createInfoPage();
264 
265  } else {
266  LoginFormsProvider forms = session.getProvider(LoginFormsProvider.class);
267  return forms
268  .setAttribute("messageHeader", forms.getMessage(Messages.DELEGATION_COMPLETE_HEADER))
269  .setAttribute(Constants.SKIP_LINK, true)
270  .setSuccess(Messages.DELEGATION_COMPLETE).createInfoPage();
271  }
272  }
KeycloakSession session
Definition: OIDCLoginProtocolService.java:76
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
ClientConnection clientConnection
Definition: OIDCLoginProtocolService.java:85

◆ logout()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.logout ( )
inline
230  {
231  LogoutEndpoint endpoint = new LogoutEndpoint(tokenManager, realm, event);
232  ResteasyProviderFactory.getInstance().injectProperties(endpoint);
233  return endpoint;
234  }
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
EventBuilder event
Definition: OIDCLoginProtocolService.java:73
TokenManager tokenManager
Definition: OIDCLoginProtocolService.java:72

◆ logoutUrl() [1/2]

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.logoutUrl ( UriInfo  uriInfo)
inlinestatic
131  {
132  UriBuilder baseUriBuilder = uriInfo.getBaseUriBuilder();
133  return logoutUrl(baseUriBuilder);
134  }
static UriBuilder logoutUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:131

◆ logoutUrl() [2/2]

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.logoutUrl ( UriBuilder  baseUriBuilder)
inlinestatic
136  {
137  UriBuilder uriBuilder = tokenServiceBaseUrl(baseUriBuilder);
138  return uriBuilder.path(OIDCLoginProtocolService.class, "logout");
139  }
OIDCLoginProtocolService(RealmModel realm, EventBuilder event)
Definition: OIDCLoginProtocolService.java:87
static UriBuilder tokenServiceBaseUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:93

◆ registerPage()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.registerPage ( )
inline

Registration endpoint

155  {
156  AuthorizationEndpoint endpoint = new AuthorizationEndpoint(realm, event);
157  ResteasyProviderFactory.getInstance().injectProperties(endpoint);
158  return endpoint.register();
159  }
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
EventBuilder event
Definition: OIDCLoginProtocolService.java:73

◆ resolveExtension()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.resolveExtension ( @PathParam("extension") String  extension)
inline
275  {
276  OIDCExtProvider provider = session.getProvider(OIDCExtProvider.class, extension);
277  if (provider != null) {
278  provider.setEvent(event);
279  return provider;
280  }
281  throw new NotFoundException();
282  }
KeycloakSession session
Definition: OIDCLoginProtocolService.java:76
EventBuilder event
Definition: OIDCLoginProtocolService.java:73

◆ token()

Object org.keycloak.protocol.oidc.OIDCLoginProtocolService.token ( )
inline

Token endpoint

175  {
176  TokenEndpoint endpoint = new TokenEndpoint(tokenManager, realm, event);
177  ResteasyProviderFactory.getInstance().injectProperties(endpoint);
178  return endpoint;
179  }
RealmModel realm
Definition: OIDCLoginProtocolService.java:71
EventBuilder event
Definition: OIDCLoginProtocolService.java:73
TokenManager tokenManager
Definition: OIDCLoginProtocolService.java:72

◆ tokenIntrospectionUrl()

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.tokenIntrospectionUrl ( UriBuilder  baseUriBuilder)
inlinestatic
127  {
128  return tokenUrl(baseUriBuilder).path(TokenEndpoint.class, "introspect");
129  }
static UriBuilder tokenUrl(UriBuilder baseUriBuilder)
Definition: OIDCLoginProtocolService.java:112

◆ tokenServiceBaseUrl() [1/2]

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.tokenServiceBaseUrl ( UriInfo  uriInfo)
inlinestatic
93  {
94  UriBuilder baseUriBuilder = uriInfo.getBaseUriBuilder();
95  return tokenServiceBaseUrl(baseUriBuilder);
96  }
static UriBuilder tokenServiceBaseUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:93

◆ tokenServiceBaseUrl() [2/2]

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.tokenServiceBaseUrl ( UriBuilder  baseUriBuilder)
inlinestatic
98  {
99  return baseUriBuilder.path(RealmsResource.class).path("{realm}/protocol/" + OIDCLoginProtocol.LOGIN_PROTOCOL);
100  }

◆ tokenUrl()

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.tokenUrl ( UriBuilder  baseUriBuilder)
inlinestatic
112  {
113  UriBuilder uriBuilder = tokenServiceBaseUrl(baseUriBuilder);
114  return uriBuilder.path(OIDCLoginProtocolService.class, "token");
115  }
OIDCLoginProtocolService(RealmModel realm, EventBuilder event)
Definition: OIDCLoginProtocolService.java:87
static UriBuilder tokenServiceBaseUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:93

◆ userInfoUrl()

static UriBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.userInfoUrl ( UriBuilder  baseUriBuilder)
inlinestatic
122  {
123  UriBuilder uriBuilder = tokenServiceBaseUrl(baseUriBuilder);
124  return uriBuilder.path(OIDCLoginProtocolService.class, "issueUserInfo");
125  }
OIDCLoginProtocolService(RealmModel realm, EventBuilder event)
Definition: OIDCLoginProtocolService.java:87
static UriBuilder tokenServiceBaseUrl(UriInfo uriInfo)
Definition: OIDCLoginProtocolService.java:93

メンバ詳解

◆ clientConnection

ClientConnection org.keycloak.protocol.oidc.OIDCLoginProtocolService.clientConnection
private

◆ event

EventBuilder org.keycloak.protocol.oidc.OIDCLoginProtocolService.event
private

◆ headers

HttpHeaders org.keycloak.protocol.oidc.OIDCLoginProtocolService.headers
private

◆ realm

RealmModel org.keycloak.protocol.oidc.OIDCLoginProtocolService.realm
private

◆ request

HttpRequest org.keycloak.protocol.oidc.OIDCLoginProtocolService.request
private

◆ session

KeycloakSession org.keycloak.protocol.oidc.OIDCLoginProtocolService.session
private

◆ tokenManager

TokenManager org.keycloak.protocol.oidc.OIDCLoginProtocolService.tokenManager
private

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