오래 못 할 짓 하지 않기
[ Spring boot Security ] [ Token X ] 1. Oauth 로그인 사용하기 위한 밑작업 본문
혼자하기/연습 1) OAuth
[ Spring boot Security ] [ Token X ] 1. Oauth 로그인 사용하기 위한 밑작업
쫑알bot 2024. 3. 3. 13:42728x90

이번에는 페이지가 제대로 넘어가는 것도 확인할거기 때문에 아래 mustache 파일로 넘어갈 수 있도록
그에 관련된 Controller를 만들어준다.



그 다음 config 패키지에 SecurityConfig를 만들어 아래와 같이 만들어준다.

코드 ▼
더보기
package com.example.oauthnojwt.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
import org.springframework.security.web.SecurityFilterChain;
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{
http.csrf((AbstractHttpConfigurer::disable));
http.formLogin(AbstractHttpConfigurer::disable);
http.httpBasic((AbstractHttpConfigurer::disable));
http.oauth2Login(Customizer.withDefaults());
http.authorizeHttpRequests((auth) ->auth
.requestMatchers("/","/oauth2/**","/login/**").permitAll()
.anyRequest().authenticated()
);
return http.build();
}
}
하고 properties 파일에 우리가 원하는 데이터를 가져올 수 있게 registration 과 provider를 설정한다.
#registration
spring.security.oauth2.client.registration.naver.client-name=naver
spring.security.oauth2.client.registration.naver.client-id=
spring.security.oauth2.client.registration.naver.client-secret=
spring.security.oauth2.client.registration.naver.redirect-uri=http://localhost:8080/login/oauth2/code/naver
spring.security.oauth2.client.registration.naver.authorization-grant-type=authorization_code
spring.security.oauth2.client.registration.naver.scope=name,email
#provider
spring.security.oauth2.client.provider.naver.authorization-uri=https://nid.naver.com/oauth2.0/authorize
spring.security.oauth2.client.provider.naver.token-uri=https://nid.naver.com/oauth2.0/token
spring.security.oauth2.client.provider.naver.user-info-uri=https://openapi.naver.com/v1/nid/me
spring.security.oauth2.client.provider.naver.user-name-attribute=response
'혼자하기 > 연습 1) OAuth' 카테고리의 다른 글
[ Spring boot Security ] [ Token X ] 3. Oauth 처리 Service stage (0) | 2024.03.03 |
---|---|
[ Spring boot Security ] [ Token X ] 2. oAuth 에 대한 application 파일 설정 (0) | 2024.03.03 |
[ Spring boot Security ] 8. JWT 검증 필터 (0) | 2024.03.03 |
[ Spring boot Security ] 7. 로그인 성공 JWT 발급 (0) | 2024.03.03 |
[ Spring boot Security ] 6. JWT 발급 / 검증 (2) | 2024.03.02 |