-   Notifications  
You must be signed in to change notification settings  - Fork 788
 
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Hi,
let me share some issues I faced when I tried to run the login and authorization server sample. It would be great if you can fix the examples. The last point mentioned below is actually not solved.
gradle wrapper version
Problem
$ ./gradlew bootRun FAILURE: Build failed with an exception. * Where: Build file 'xxxxxxxxxxxxxxxxxx/spring-security-samples/servlet/spring-boot/java/oauth2/login/build.gradle' line: 2 * What went wrong: An exception occurred applying plugin request [id: 'org.springframework.boot', version: '3.0.0-SNAPSHOT'] > Failed to apply plugin 'org.springframework.boot'. > Spring Boot plugin requires Gradle 7.x (7.4 or later). The current version is Gradle 7.3 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org Solution
vi gradle/wrapper/gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip gradle fails to download snapshot releases
Problem
* Where: Build file '/xxxxxxxxxxxxx/spring-security-samples/servlet/spring-boot/java/oauth2/authorization-server/build.gradle' line: 2 * What went wrong: Plugin [id: 'org.springframework.boot', version: '3.0.0-SNAPSHOT'] was not found in any of the following sources: - Gradle Core Plugins (plugin is not in 'org.gradle' namespace) - Plugin Repositories (could not resolve plugin artifact 'org.springframework.boot:org.springframework.boot.gradle.plugin:3.0.0-SNAPSHOT') Searched in the following repositories: Gradle Central Plugin Repository * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org Solution
Put the following lines to settings.gradle https://docs.spring.io/spring-boot/docs/3.0.0-SNAPSHOT/gradle-plugin/reference/htmlsingle/#getting-started pluginManagement {	repositories {	maven { url 'https://repo.spring.io/milestone' }	maven { url 'https://repo.spring.io/snapshot' }	gradlePluginPortal()	} } problem with scope openid
Problem (comes up when booting up the application and trying to login)
[invalid_scope] OpenID Connect 1.0 authentication requests are restricted. Solution change application.yml
 scope: openid,profile # scope: profile problem with user-info-uri
1st Problem:
[missing_user_info_uri] Missing required UserInfo Uri in UserInfoEndpoint for Client Registration: login-client Solution
 spring: authorization-uri: http://localhost:9000/oauth2/authorize token-uri: http://localhost:9000/oauth2/token jwk-set-uri: http://localhost:9000/oauth2/jwks user-info-uri: http://localhost:9000/userinfo # add this line 2nd problem:
[missing_user_name_attribute] Missing required "user name" attribute name in UserInfoEndpoint for Client Registration: login-client Solution: Actually I did not find a solution to this one. I tried to add a provider for the user-info endpoint in OAuth2AuthorizationServerSecurityConfiguration but it did not work
 @Bean @Order(1) public SecurityFilterChain authorizationServerSecurityFilterChain(HttpSecurity http) throws Exception { OAuth2AuthorizationServerConfigurer authorizationServerConfigurer = new OAuth2AuthorizationServerConfigurer(); authorizationServerConfigurer .oidc(oidc -> oidc.userInfoEndpoint( userInfoEndpoint -> userInfoEndpoint.userInfoMapper( oidcUserInfoAuthenticationContext -> { return new OidcUserInfo(Map.of( StandardClaimNames.NAME , "user", "user_name", "user")); }) ) ); RequestMatcher endpointsMatcher = authorizationServerConfigurer.getEndpointsMatcher(); http.securityMatcher(endpointsMatcher).authorizeHttpRequests((authorize) -> { ((AuthorizeHttpRequestsConfigurer.AuthorizedUrl) authorize.anyRequest()).authenticated(); }).csrf((csrf) -> { csrf.ignoringRequestMatchers(new RequestMatcher[]{endpointsMatcher}); } ).apply(authorizationServerConfigurer); return http.formLogin(Customizer.withDefaults()).build(); } pcalouche, muffetlab, DevDengChao and gongzelong0718
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working