Skip to content

Commit 061badf

Browse files
author
Steve Riesenberg
committed
Add User Info to Getting Started in ref doc
Closes gh-917
1 parent 70466b7 commit 061badf

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

docs/src/docs/asciidoc/examples/src/main/java/sample/gettingStarted/SecurityConfig.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@
3232
import org.springframework.core.annotation.Order;
3333
import org.springframework.security.config.Customizer;
3434
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
35+
import org.springframework.security.config.annotation.web.configurers.oauth2.server.resource.OAuth2ResourceServerConfigurer;
3536
import org.springframework.security.core.userdetails.User;
3637
import org.springframework.security.core.userdetails.UserDetails;
3738
import org.springframework.security.core.userdetails.UserDetailsService;
3839
import org.springframework.security.oauth2.core.AuthorizationGrantType;
3940
import org.springframework.security.oauth2.core.ClientAuthenticationMethod;
4041
import org.springframework.security.oauth2.core.oidc.OidcScopes;
42+
import org.springframework.security.oauth2.jwt.JwtDecoder;
4143
import org.springframework.security.oauth2.server.authorization.client.InMemoryRegisteredClientRepository;
4244
import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
4345
import org.springframework.security.oauth2.server.authorization.client.RegisteredClientRepository;
@@ -66,7 +68,9 @@ public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity h
6668
.exceptionHandling((exceptions) -> exceptions
6769
.authenticationEntryPoint(
6870
new LoginUrlAuthenticationEntryPoint("/login"))
69-
);
71+
)
72+
// Accept access tokens for User Info and/or Client Registration
73+
.oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt);
7074
// @formatter:on
7175

7276
return http.build();
@@ -115,6 +119,7 @@ public RegisteredClientRepository registeredClientRepository() {
115119
.redirectUri("http://127.0.0.1:8080/login/oauth2/code/messaging-client-oidc")
116120
.redirectUri("http://127.0.0.1:8080/authorized")
117121
.scope(OidcScopes.OPENID)
122+
.scope(OidcScopes.PROFILE)
118123
.scope("message.read")
119124
.scope("message.write")
120125
.clientSettings(ClientSettings.builder().requireAuthorizationConsent(true).build())
@@ -153,6 +158,11 @@ private static KeyPair generateRsaKey() { // <6>
153158
}
154159

155160
@Bean // <7>
161+
public JwtDecoder jwtDecoder(JWKSource<SecurityContext> jwkSource) {
162+
return OAuth2AuthorizationServerConfiguration.jwtDecoder(jwkSource);
163+
}
164+
165+
@Bean // <8>
156166
public AuthorizationServerSettings authorizationServerSettings() {
157167
return AuthorizationServerSettings.builder().build();
158168
}

docs/src/docs/asciidoc/getting-started.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,5 @@ This is a minimal configuration for getting started quickly. To understand what
5555
<4> An instance of xref:core-model-components.adoc#registered-client-repository[`RegisteredClientRepository`] for managing clients.
5656
<5> An instance of `com.nimbusds.jose.jwk.source.JWKSource` for signing access tokens.
5757
<6> An instance of `java.security.KeyPair` with keys generated on startup used to create the `JWKSource` above.
58-
<7> An instance of xref:configuration-model#configuring-authorization-server-settings[`AuthorizationServerSettings`] to configure Spring Authorization Server.
58+
<7> An instance of {spring-security-api-base-url}/org/springframework/security/oauth2/jwt/JwtDecoder.html[`JwtDecoder`] for decoding signed access tokens.
59+
<8> An instance of xref:configuration-model#configuring-authorization-server-settings[`AuthorizationServerSettings`] to configure Spring Authorization Server.

0 commit comments

Comments
 (0)