如何使Linkedin OAuth在Spring Boot中工作

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

需要帮助,才能使用Spring OAuth2将Login with Linkedin加入到Spring boot 2.1.6.RELEASE项目中。 Java版本是11

Google和Github非常简单,可以在同一项目中工作。我在Spring-Social中尝试了一些示例代码,但由于不同的Spring引导版本而失败。

以下application.properties不起作用(也尝试过client-authentication-method=post),并且在从linkedin中检索到授权码后,重定向回了该目录(授权码有效,我可以从Postman获取访问令牌)。

spring.security.oauth2.client.registration.linkedin.provider=linkedin
spring.security.oauth2.client.registration.linkedin.client-name=Linkedin
spring.security.oauth2.client.registration.linkedin.client-id=******
spring.security.oauth2.client.registration.linkedin.client-secret=******
spring.security.oauth2.client.registration.linkedin.redirect-uri=*****
spring.security.oauth2.client.registration.linkedin.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.linkedin.client-authentication-method=form
spring.security.oauth2.client.registration.linkedin.scope=r_emailaddress,r_liteprofile
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/me
spring.security.oauth2.client.provider.linkedin.user-info-authentication-method=post

SecurityConfig类(也尝试不使用antMatchers):

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().antMatchers("*linkedin*").permitAll()
                .anyRequest().authenticated()
                .and()
                .csrf().disable()
                .oauth2Login();
    }

没有错误,在将code查询参数与state一起返回给Spring之后,它被重定向回Spring登录。

谢谢

spring-boot security spring-security oauth linkedin
1个回答
0
投票

我的工作配置:

spring:
  security:
    oauth2:
      client:
        registration:
          linkedin:
            client-id: ????
            client-secret: ????
            scope:  r_liteprofile, r_emailaddress
            authorization-grant-type: authorization_code
            redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
            client-name: LinkedIn
            client-authentication-method: post

        provider:
          linkedin:
            authorization-uri: https://www.linkedin.com/oauth/v2/authorization
            token-uri: https://www.linkedin.com/uas/oauth2/accessToken
            user-info-uri: https://api.linkedin.com/v2/me
            jwk-set-uri:
            user-name-attribute: id

最新的春季:org.springframework.security:spring-security-oauth2-client:5.2.2.RELEASE

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