Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -121,7 +121,8 @@ public B credentials(@Nullable Object token) {
*/
@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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,32 @@ public void toBuilderWhenApplyThenCopies() {
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));
}

}
Loading