gpt4 book ai didi

spring-boot - 如何让 Linkedin OAuth 在 Spring Boot 中工作

转载 作者:行者123 更新时间:2023-12-03 16:38:05 32 4
gpt4 key购买 nike

需要帮助才有Login with LinkedinSpring boot 2.1.6.RELEASE使用 Spring OAuth2 的项目。 Java 版本是 11

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

下面的 application.properties 不起作用(也尝试过 client-authentication-method=post ),并且在从linkedin 检索授权码后被重定向回来(授权码有效,我可以使用它从 postman 那里获取访​​问 token )。

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:
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

最新 Spring : org.springframework.security:spring-security-oauth2-client:5.2.2.RELEASE

关于spring-boot - 如何让 Linkedin OAuth 在 Spring Boot 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58760525/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com