Merge branch '7.1.x'
Closes gh-19649
This commit is contained in:
+3
-2
@@ -53,7 +53,7 @@ public class BearerTokenAuthentication extends AbstractOAuth2TokenAuthentication
|
||||
public BearerTokenAuthentication(OAuth2AuthenticatedPrincipal principal, OAuth2AccessToken credentials,
|
||||
Collection<? extends GrantedAuthority> authorities) {
|
||||
super(credentials, principal, credentials, authorities);
|
||||
Assert.isTrue(credentials.getTokenType() == OAuth2AccessToken.TokenType.BEARER,
|
||||
Assert.isTrue(OAuth2AccessToken.TokenType.BEARER.equals(credentials.getTokenType()),
|
||||
"credentials must be a bearer token");
|
||||
this.attributes = Collections.unmodifiableMap(new LinkedHashMap<>(principal.getAttributes()));
|
||||
setAuthenticated(true);
|
||||
@@ -121,7 +121,8 @@ public class BearerTokenAuthentication extends AbstractOAuth2TokenAuthentication
|
||||
*/
|
||||
@Override
|
||||
public B token(OAuth2AccessToken token) {
|
||||
Assert.isTrue(token.getTokenType() == OAuth2AccessToken.TokenType.BEARER, "token must be a bearer token");
|
||||
Assert.isTrue(OAuth2AccessToken.TokenType.BEARER.equals(token.getTokenType()),
|
||||
"token must be a bearer token");
|
||||
super.credentials(token);
|
||||
return super.token(token);
|
||||
}
|
||||
|
||||
+28
@@ -173,4 +173,32 @@ public class BearerTokenAuthenticationTests {
|
||||
assertThat(authorities).containsExactlyInAnyOrder("FACTOR_ONE", "FACTOR_TWO");
|
||||
}
|
||||
|
||||
// gh-19377
|
||||
@Test
|
||||
public void compareCredentialsHasBearerTokenType() {
|
||||
Instant current = Instant.now();
|
||||
Instant after1hour = Instant.now().plusSeconds(3600);
|
||||
OAuth2AccessToken oAuth2AccessToken = new OAuth2AccessToken(new OAuth2AccessToken.TokenType("Bearer"), "token",
|
||||
current, after1hour);
|
||||
BearerTokenAuthentication authenticated = new BearerTokenAuthentication(this.principal, oAuth2AccessToken,
|
||||
this.authorities);
|
||||
assertThat(authenticated.getName()).isEqualTo(this.name);
|
||||
assertThat(authenticated.getCredentials())
|
||||
.isEqualTo(new OAuth2AccessToken(OAuth2AccessToken.TokenType.BEARER, "token", current, after1hour));
|
||||
}
|
||||
|
||||
// gh-19377
|
||||
@Test
|
||||
public void toBuilderCompareCredentialsHasBearerTokenType() {
|
||||
Instant current = Instant.now();
|
||||
Instant after1hour = Instant.now().plusSeconds(3600);
|
||||
OAuth2AccessToken oAuth2AccessToken = new OAuth2AccessToken(new OAuth2AccessToken.TokenType("Bearer"), "token",
|
||||
current, after1hour);
|
||||
BearerTokenAuthentication token = new BearerTokenAuthentication(this.principal, this.token, this.authorities);
|
||||
BearerTokenAuthentication authenticated = token.toBuilder().token(oAuth2AccessToken).build();
|
||||
assertThat(authenticated.getName()).isEqualTo(this.name);
|
||||
assertThat(authenticated.getCredentials())
|
||||
.isEqualTo(new OAuth2AccessToken(OAuth2AccessToken.TokenType.BEARER, "token", current, after1hour));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user