Java Code Examples for org.keycloak.KeycloakPrincipal#getKeycloakSecurityContext()
The following examples show how to use
org.keycloak.KeycloakPrincipal#getKeycloakSecurityContext() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ElytronCookieTokenStore.java From keycloak with Apache License 2.0 | 6 votes |
@Override public void logout(boolean glo) { KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = CookieTokenStore.getPrincipalFromCookie(this.httpFacade.getDeployment(), this.httpFacade, this); if (principal == null) { return; } CookieTokenStore.removeCookie(this.httpFacade.getDeployment(), this.httpFacade); if (glo) { KeycloakSecurityContext ksc = (KeycloakSecurityContext) principal.getKeycloakSecurityContext(); if (ksc == null) { return; } KeycloakDeployment deployment = httpFacade.getDeployment(); if (!deployment.isBearerOnly() && ksc != null && ksc instanceof RefreshableKeycloakSecurityContext) { ((RefreshableKeycloakSecurityContext) ksc).logout(deployment); } } }
Example 2
Source File: ElytronCookieTokenStore.java From keycloak with Apache License 2.0 | 6 votes |
@Override public void checkCurrentToken() { KeycloakDeployment deployment = httpFacade.getDeployment(); KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = CookieTokenStore.getPrincipalFromCookie(deployment, httpFacade, this); if (principal == null) { return; } RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); if (securityContext.isActive() && !securityContext.getDeployment().isAlwaysRefreshToken()) return; // FYI: A refresh requires same scope, so same roles will be set. Otherwise, refresh will fail and token will // not be updated boolean success = securityContext.refreshExpiredToken(false); if (success && securityContext.isActive()) return; saveAccountInfo(new ElytronAccount(principal)); }
Example 3
Source File: FilterRequestAuthenticator.java From keycloak with Apache License 2.0 | 6 votes |
@Override protected void completeOAuthAuthentication(final KeycloakPrincipal<RefreshableKeycloakSecurityContext> skp) { final RefreshableKeycloakSecurityContext securityContext = skp.getKeycloakSecurityContext(); final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); OidcKeycloakAccount account = new OidcKeycloakAccount() { @Override public Principal getPrincipal() { return skp; } @Override public Set<String> getRoles() { return roles; } @Override public KeycloakSecurityContext getKeycloakSecurityContext() { return securityContext; } }; request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); this.tokenStore.saveAccountInfo(account); }
Example 4
Source File: CatalinaRequestAuthenticator.java From keycloak with Apache License 2.0 | 6 votes |
@Override protected void completeOAuthAuthentication(final KeycloakPrincipal<RefreshableKeycloakSecurityContext> skp) { final RefreshableKeycloakSecurityContext securityContext = skp.getKeycloakSecurityContext(); final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); OidcKeycloakAccount account = new OidcKeycloakAccount() { @Override public Principal getPrincipal() { return skp; } @Override public Set<String> getRoles() { return roles; } @Override public KeycloakSecurityContext getKeycloakSecurityContext() { return securityContext; } }; request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); this.tokenStore.saveAccountInfo(account); }
Example 5
Source File: JettyRequestAuthenticator.java From keycloak with Apache License 2.0 | 6 votes |
@Override protected void completeOAuthAuthentication(final KeycloakPrincipal<RefreshableKeycloakSecurityContext> skp) { principal = skp; final RefreshableKeycloakSecurityContext securityContext = skp.getKeycloakSecurityContext(); final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); OidcKeycloakAccount account = new OidcKeycloakAccount() { @Override public Principal getPrincipal() { return skp; } @Override public Set<String> getRoles() { return roles; } @Override public KeycloakSecurityContext getKeycloakSecurityContext() { return securityContext; } }; request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); this.tokenStore.saveAccountInfo(account); }
Example 6
Source File: CatalinaCookieTokenStore.java From keycloak with Apache License 2.0 | 6 votes |
/** * Verify if we already have authenticated and active principal in cookie. Perform refresh if it's not active * * @return valid principal */ protected KeycloakPrincipal<RefreshableKeycloakSecurityContext> checkPrincipalFromCookie() { KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = CookieTokenStore.getPrincipalFromCookie(deployment, facade, this); if (principal == null) { log.fine("Account was not in cookie or was invalid"); return null; } RefreshableKeycloakSecurityContext session = principal.getKeycloakSecurityContext(); if (session.isActive() && !session.getDeployment().isAlwaysRefreshToken()) return principal; boolean success = session.refreshExpiredToken(false); if (success && session.isActive()) return principal; log.fine("Cleanup and expire cookie for user " + principal.getName() + " after failed refresh"); request.setUserPrincipal(null); request.setAuthType(null); CookieTokenStore.removeCookie(deployment, facade); return null; }
Example 7
Source File: JettyCookieTokenStore.java From keycloak with Apache License 2.0 | 6 votes |
/** * Verify if we already have authenticated and active principal in cookie. Perform refresh if it's not active * * @return valid principal */ protected KeycloakPrincipal<RefreshableKeycloakSecurityContext> checkPrincipalFromCookie() { KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = CookieTokenStore.getPrincipalFromCookie(deployment, facade, this); if (principal == null) { log.debug("Account was not in cookie or was invalid"); return null; } RefreshableKeycloakSecurityContext session = principal.getKeycloakSecurityContext(); if (session.isActive() && !session.getDeployment().isAlwaysRefreshToken()) return principal; boolean success = session.refreshExpiredToken(false); if (success && session.isActive()) return principal; log.debugf("Cleanup and expire cookie for user %s after failed refresh", principal.getName()); CookieTokenStore.removeCookie(deployment, facade); return null; }
Example 8
Source File: SpringSecurityCookieTokenStore.java From keycloak with Apache License 2.0 | 6 votes |
/** * Verify if we already have authenticated and active principal in cookie. Perform refresh if * it's not active * * @return valid principal */ private KeycloakPrincipal<RefreshableKeycloakSecurityContext> checkPrincipalFromCookie() { KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = CookieTokenStore.getPrincipalFromCookie(deployment, facade, this); if (principal == null) { logger.debug("Account was not in cookie or was invalid"); return null; } RefreshableKeycloakSecurityContext session = principal.getKeycloakSecurityContext(); if (session.isActive() && !session.getDeployment().isAlwaysRefreshToken()) return principal; boolean success = session.refreshExpiredToken(false); if (success && session.isActive()) { refreshCallback(session); return principal; } logger.debug( "Cleanup and expire cookie for user {} after failed refresh", principal.getName()); CookieTokenStore.removeCookie(deployment, facade); return null; }
Example 9
Source File: SpringSecurityCookieTokenStore.java From keycloak with Apache License 2.0 | 6 votes |
@Override public void checkCurrentToken() { final KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = checkPrincipalFromCookie(); if (principal != null) { final RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); KeycloakSecurityContext current = ((OIDCHttpFacade) facade).getSecurityContext(); if (current != null) { securityContext.setAuthorizationContext(current.getAuthorizationContext()); } final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); final OidcKeycloakAccount account = new SimpleKeycloakAccount(principal, roles, securityContext); SecurityContextHolder.getContext() .setAuthentication(new KeycloakAuthenticationToken(account, false)); } else { super.checkCurrentToken(); } cookieChecked = true; }
Example 10
Source File: SpringSecurityRequestAuthenticator.java From keycloak with Apache License 2.0 | 5 votes |
@Override protected void completeOAuthAuthentication(final KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal) { final RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); final OidcKeycloakAccount account = new SimpleKeycloakAccount(principal, roles, securityContext); request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); this.tokenStore.saveAccountInfo(account); }
Example 11
Source File: JettyRequestAuthenticator.java From keycloak with Apache License 2.0 | 5 votes |
@Override protected void completeBearerAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal, String method) { this.principal = principal; RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); if (log.isDebugEnabled()) { log.debug("Completing bearer authentication. Bearer roles: " + roles); } request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); }
Example 12
Source File: SpringSecurityRequestAuthenticator.java From keycloak with Apache License 2.0 | 5 votes |
@Override protected void completeBearerAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal, String method) { RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); final KeycloakAccount account = new SimpleKeycloakAccount(principal, roles, securityContext); logger.debug("Completing bearer authentication. Bearer roles: {} ",roles); SecurityContext context = SecurityContextHolder.createEmptyContext(); context.setAuthentication(new KeycloakAuthenticationToken(account, false)); SecurityContextHolder.setContext(context); request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); }
Example 13
Source File: CatalinaRequestAuthenticator.java From keycloak with Apache License 2.0 | 5 votes |
@Override protected void completeBearerAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal, String method) { RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); if (log.isLoggable(Level.FINE)) { log.fine("Completing bearer authentication. Bearer roles: " + roles); } Principal generalPrincipal = principalFactory.createPrincipal(request.getContext().getRealm(), principal, roles); request.setUserPrincipal(generalPrincipal); request.setAuthType(method); request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); }
Example 14
Source File: FilterRequestAuthenticator.java From keycloak with Apache License 2.0 | 5 votes |
@Override protected void completeBearerAuthentication(final KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal, String method) { final RefreshableKeycloakSecurityContext securityContext = principal.getKeycloakSecurityContext(); final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(securityContext); if (log.isLoggable(Level.FINE)) { log.fine("Completing bearer authentication. Bearer roles: " + roles); } request.setAttribute(KeycloakSecurityContext.class.getName(), securityContext); OidcKeycloakAccount account = new OidcKeycloakAccount() { @Override public Principal getPrincipal() { return principal; } @Override public Set<String> getRoles() { return roles; } @Override public KeycloakSecurityContext getKeycloakSecurityContext() { return securityContext; } }; // need this here to obtain UserPrincipal request.setAttribute(KeycloakAccount.class.getName(), account); }
Example 15
Source File: SearchManager.java From aerogear-unifiedpush-server with Apache License 2.0 | 5 votes |
/** * Extract the username to be used in multiple queries * * @return current logged in user */ @Produces @LoggedIn public String extractUsername() { final KeycloakPrincipal principal = (KeycloakPrincipal) httpServletRequest.getUserPrincipal(); if (principal != null) { logger.debug("Running with Keycloak context"); KeycloakSecurityContext kcSecurityContext = principal.getKeycloakSecurityContext(); return kcSecurityContext.getToken().getPreferredUsername(); } logger.debug("Running outside of Keycloak context"); final String basicUsername = HttpBasicHelper.extractUsernameAndPasswordFromBasicHeader(httpServletRequest)[0]; if (! basicUsername.isEmpty()) { logger.debug("running HttpBasic auth"); return basicUsername; } logger.debug("Running without any Auth context"); return "admin"; // by default, we are admin! }
Example 16
Source File: AppTokenUtil.java From devconf2019-authz with Apache License 2.0 | 4 votes |
public static KeycloakSecurityContext getKeycloakSecurityContext(Principal principal) { Authentication auth = (Authentication) principal; KeycloakPrincipal kcPrincipal = (KeycloakPrincipal) auth.getPrincipal();; return kcPrincipal.getKeycloakSecurityContext(); }
Example 17
Source File: MockRequestAuthenticator.java From keycloak with Apache License 2.0 | 4 votes |
@Override protected void completeOAuthAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal) { keycloakSecurityContext = principal.getKeycloakSecurityContext(); }