org.keycloak.adapters.springsecurity.account.SimpleKeycloakAccount Java Examples
The following examples show how to use
org.keycloak.adapters.springsecurity.account.SimpleKeycloakAccount.
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: 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 #2
Source File: KeycloakDirectAccessGrantAuthenticationProvider.java From teiid-spring-boot with Apache License 2.0 | 5 votes |
protected Authentication postTokenVerification(String tokenString, AccessToken token) { RefreshableKeycloakSecurityContext skSession = new RefreshableKeycloakSecurityContext(deployment, null, tokenString, token, null, null, null); String principalName = AdapterUtils.getPrincipalName(deployment, token); final KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = new KeycloakPrincipal<RefreshableKeycloakSecurityContext>(principalName, skSession); final Set<String> roles = AdapterUtils.getRolesFromSecurityContext(skSession); final KeycloakAccount account = new SimpleKeycloakAccount(principal, roles, skSession); KeycloakAuthenticationToken newAuth = new KeycloakAuthenticationToken(account, false); //call to the super logic to map authorities return super.authenticate(newAuth); }
Example #3
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 #4
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 #5
Source File: KeycloakAuthenticationProviderTest.java From keycloak with Apache License 2.0 | 5 votes |
@Before public void setUp() throws Exception { Principal principal = mock(Principal.class); RefreshableKeycloakSecurityContext securityContext = mock(RefreshableKeycloakSecurityContext.class); KeycloakAccount account = new SimpleKeycloakAccount(principal, roles, securityContext); token = new KeycloakAuthenticationToken(account, false); interactiveToken = new KeycloakAuthenticationToken(account, true); }
Example #6
Source File: SpringSecurityTokenStoreTest.java From keycloak with Apache License 2.0 | 5 votes |
@Test public void testSaveAccountInfo() throws Exception { OidcKeycloakAccount account = new SimpleKeycloakAccount(principal, Collections.singleton("FOO"), keycloakSecurityContext); Authentication authentication; store.saveAccountInfo(account); authentication = SecurityContextHolder.getContext().getAuthentication(); assertNotNull(authentication); assertTrue(authentication instanceof KeycloakAuthenticationToken); }
Example #7
Source File: SpringSecurityTokenStoreTest.java From keycloak with Apache License 2.0 | 5 votes |
@Test(expected = IllegalStateException.class) public void testSaveAccountInfoInvalidAuthenticationType() throws Exception { OidcKeycloakAccount account = new SimpleKeycloakAccount(principal, Collections.singleton("FOO"), keycloakSecurityContext); Authentication authentication = new PreAuthenticatedAuthenticationToken("foo", "bar", Collections.singleton(new KeycloakRole("ROLE_FOO"))); SecurityContextHolder.getContext().setAuthentication(authentication); store.saveAccountInfo(account); }
Example #8
Source File: SimpleHttpFacadeTest.java From keycloak with Apache License 2.0 | 5 votes |
@Before public void setup() { SecurityContext springSecurityContext = SecurityContextHolder.createEmptyContext(); SecurityContextHolder.setContext(springSecurityContext); Set<String> roles = Sets.newSet("user"); Principal principal = mock(Principal.class); RefreshableKeycloakSecurityContext keycloakSecurityContext = mock(RefreshableKeycloakSecurityContext.class); KeycloakAccount account = new SimpleKeycloakAccount(principal, roles, keycloakSecurityContext); KeycloakAuthenticationToken token = new KeycloakAuthenticationToken(account, false); springSecurityContext.setAuthentication(token); }
Example #9
Source File: KeycloakSpringAdapterUtils.java From smartling-keycloak-extras with Apache License 2.0 | 3 votes |
/** * Creates a {@link OidcKeycloakAccount} from the given {@link KeycloakDeployment} and {@link RefreshableKeycloakSecurityContext}. * * @param deployment the <code>KeycloakDeployment</code> requesting an account (required) * @param context the current <code>RefreshableKeycloakSecurityContext</code> (required) * * @return a <code>KeycloakAccount</code> for the given <code>deployment</code> and <code>context</code> */ public static OidcKeycloakAccount createAccount(KeycloakDeployment deployment, RefreshableKeycloakSecurityContext context) { Assert.notNull(context); Set<String> roles = AdapterUtils.getRolesFromSecurityContext(context); KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal = AdapterUtils.createPrincipal(deployment, context); return new SimpleKeycloakAccount(principal, roles, context); }