parent
b764c666c6
commit
d554b06a43
|
@ -21,8 +21,8 @@ import org.springframework.security.oauth2.client.registration.ClientRegistratio
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link JwtDecoderRegistry} that creates/manages instances of
|
* A {@link JwtDecoderRegistry} that creates/manages instances of
|
||||||
|
@ -35,7 +35,7 @@ import java.util.Map;
|
||||||
* @see <a target="_blank" href="https://connect2id.com/products/nimbus-jose-jwt">Nimbus JOSE + JWT SDK</a>
|
* @see <a target="_blank" href="https://connect2id.com/products/nimbus-jose-jwt">Nimbus JOSE + JWT SDK</a>
|
||||||
*/
|
*/
|
||||||
public class NimbusJwtDecoderRegistry implements JwtDecoderRegistry {
|
public class NimbusJwtDecoderRegistry implements JwtDecoderRegistry {
|
||||||
private final Map<String, JwtDecoder> jwtDecoders = new HashMap<>();
|
private final Map<String, JwtDecoder> jwtDecoders = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JwtDecoder getJwtDecoder(ClientRegistration registration) {
|
public JwtDecoder getJwtDecoder(ClientRegistration registration) {
|
||||||
|
|
|
@ -18,10 +18,10 @@ package org.springframework.security.oauth2.client.registration;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link ClientRegistrationRepository} that stores {@link ClientRegistration}(s) <i>in-memory</i>.
|
* A {@link ClientRegistrationRepository} that stores {@link ClientRegistration}(s) <i>in-memory</i>.
|
||||||
|
@ -36,7 +36,7 @@ public final class InMemoryClientRegistrationRepository implements ClientRegistr
|
||||||
|
|
||||||
public InMemoryClientRegistrationRepository(List<ClientRegistration> registrations) {
|
public InMemoryClientRegistrationRepository(List<ClientRegistration> registrations) {
|
||||||
Assert.notEmpty(registrations, "registrations cannot be empty");
|
Assert.notEmpty(registrations, "registrations cannot be empty");
|
||||||
Map<String, ClientRegistration> registrationsMap = new HashMap<>();
|
Map<String, ClientRegistration> registrationsMap = new ConcurrentHashMap<>();
|
||||||
registrations.forEach(registration -> {
|
registrations.forEach(registration -> {
|
||||||
if (registrationsMap.containsKey(registration.getRegistrationId())) {
|
if (registrationsMap.containsKey(registration.getRegistrationId())) {
|
||||||
throw new IllegalArgumentException("ClientRegistration must be unique. Found duplicate registrationId: " +
|
throw new IllegalArgumentException("ClientRegistration must be unique. Found duplicate registrationId: " +
|
||||||
|
|
|
@ -23,6 +23,7 @@ import org.springframework.util.Assert;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link SecurityTokenRepository} that associates an {@link AccessToken}
|
* A {@link SecurityTokenRepository} that associates an {@link AccessToken}
|
||||||
|
@ -36,7 +37,7 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
public final class InMemoryAccessTokenRepository implements SecurityTokenRepository<AccessToken> {
|
public final class InMemoryAccessTokenRepository implements SecurityTokenRepository<AccessToken> {
|
||||||
private final ClientRegistrationIdentifierStrategy<String> identifierStrategy = new AuthorizedClientIdentifierStrategy();
|
private final ClientRegistrationIdentifierStrategy<String> identifierStrategy = new AuthorizedClientIdentifierStrategy();
|
||||||
private final Map<String, AccessToken> accessTokens = new HashMap<>();
|
private final Map<String, AccessToken> accessTokens = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AccessToken loadSecurityToken(ClientRegistration registration) {
|
public AccessToken loadSecurityToken(ClientRegistration registration) {
|
||||||
|
|
Loading…
Reference in New Issue