缺少必需参数“client_secret”

问题描述 投票:0回答:1

我在 JavaSpring 中有一个网站,我使用 Spring Security 登录到我通过 LinkedIn 实现的应用程序。登录时出现此错误(http://localhost:8080/login?error=[invalid_request]%20A%20required%20parameter%20%20%22client_secret%22%20is%20missing)我不知道如何解决它我100%确定我在设置中正确指定了它(spring.security.oauth2.client.registration.linkedin.client-secret) 请告诉我如何解决这个问题

application.properties 文件:

spring.security.oauth2.client.registration.linkedin.client-id=****
spring.security.oauth2.client.registration.linkedin.client-secret=****
spring.security.oauth2.client.registration.linkedin.scope=profile
spring.security.oauth2.client.registration.linkedin.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.linkedin.redirect-uri=http://localhost:8080/login/oauth2/code/linkedin
spring.security.oauth2.client.registration.linkedin.client-name=LinkedIn
spring.security.oauth2.client.registration.linkedin.provider=linkedin
spring.security.oauth2.client.registration.linkedin.client-authentication-method=post
spring.security.oauth2.client.provider.linkedin.authorization-uri=https://www.linkedin.com/oauth/v2/authorization
spring.security.oauth2.client.provider.linkedin.token-uri=https://www.linkedin.com/oauth/v2/accessToken
spring.security.oauth2.client.provider.linkedin.user-info-uri=https://api.linkedin.com/v2/userinfo
spring.security.oauth2.client.provider.linkedin.jwk-set-uri=
spring.security.oauth2.client.provider.linkedin.user-name-attribute=id
spring.security.oauth2.client.provider.linkedin.user-info-authentication-method=post

SpringSecurityConfig 类:

/*..other code..*/
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
            http
                    .authorizeHttpRequests((authorize) -> authorize
                            .requestMatchers("/home").permitAll()
                            .anyRequest().authenticated()
                    )
                    .oauth2Login(oauth2Login -> oauth2Login
                            .loginPage("/login")
                            .defaultSuccessUrl("/home")
                            .failureHandler(new OAuth2AuthenticationFailureHandler())
                            .successHandler(oAuth2LoginSuccessHandler)
                            .permitAll()
                    )
/*..other code..*/

我尝试在链接开发中重新创建新应用程序,但没有帮助

java spring spring-boot spring-mvc spring-security
1个回答
0
投票

将 client-authentication-method=post 更改为 client_authentication_method: client_secret_post

该帖子不再受支持

© www.soinside.com 2019 - 2024. All rights reserved.