Skip to content

Commit 157498b

Browse files
kothasajzheaux
kothasa
authored andcommitted
Bearer Token Padding
Closes gh-8502
1 parent ce4345b commit 157498b

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/web/DefaultBearerTokenResolver.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ private static String resolveFromAuthorizationHeader(HttpServletRequest request)
9898
throw new OAuth2AuthenticationException(error);
9999
}
100100

101-
return matcher.group("token");
101+
return authorization.substring(7);
102102
}
103103
return null;
104104
}

oauth2/oauth2-resource-server/src/test/java/org/springframework/security/oauth2/server/resource/web/DefaultBearerTokenResolverTests.java

+18
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,24 @@ public void resolveWhenValidHeaderIsPresentThenTokenIsResolved() {
5151
assertThat(this.resolver.resolve(request)).isEqualTo(TEST_TOKEN);
5252
}
5353

54+
@Test
55+
public void resolveWhenValidHeaderIsPresentWithSingleBytePaddingIndicatorThenTokenIsResolved() {
56+
String token = TEST_TOKEN + "=";
57+
MockHttpServletRequest request = new MockHttpServletRequest();
58+
request.addHeader("Authorization", "Bearer " + token);
59+
60+
assertThat(this.resolver.resolve(request)).isEqualTo(token);
61+
}
62+
63+
@Test
64+
public void resolveWhenValidHeaderIsPresentWithTwoBytesPaddingIndicatorThenTokenIsResolved() {
65+
String token = TEST_TOKEN + "==";
66+
MockHttpServletRequest request = new MockHttpServletRequest();
67+
request.addHeader("Authorization", "Bearer " + token);
68+
69+
assertThat(this.resolver.resolve(request)).isEqualTo(token);
70+
}
71+
5472
@Test
5573
public void resolveWhenNoHeaderIsPresentThenTokenIsNotResolved() {
5674
MockHttpServletRequest request = new MockHttpServletRequest();

0 commit comments

Comments
 (0)