Как заставить Linkedin OAuth работать в Spring Boot - PullRequest
0 голосов
/ 08 ноября 2019

Нужна помощь, чтобы иметь Login with Linkedin в Spring boot 2.1.6.RELEASE проекте с Spring OAuth2. Версия Java 11

Google и Github довольно просты и работают в одном проекте. Я попробовал несколько примеров кодов в Spring-Social, но они не сработали из-за другой загрузочной версии Spring.

Ниже application.properties не работает (также пробовал client-authentication-method=post) и перенаправляется обратно после кода авторизацииполучено из linkedin (код авторизации действителен, с помощью которого я могу получить токен доступа от Почтальона).

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 параметр запроса возвращается обратно в Spring вместе с state, он перенаправляется обратно в Spring логин.

Спасибо

...