• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

"/oauth/token" URL에 대한 요청 처리가 자동으로 이루어지는 지점에 대한 확인차 질문 글을 남깁니다.

20.06.07 17:05 작성 조회수 282

1

안녕하세요.

"스프링 시큐리니 OAuth2 인증 서버 설정" 강의 중

Token 발급 TEST 코드를 작성하면서  "/oauth/token" URL을 POST 방식으로 요청하는 것을 볼 수 있었습니다.

저희가 직접 "/oauth/token" URL에 대해 매핑을 하지 않아도 처리가 가능했던 이유는

pom.xml에서 "spring-security-oauth2-autoconfigure" 의존성 설정을 함으로써 가능했던 것이고,

더 나아가 실제로 어떤 지점에서 "/oauth/token" URL이 매핑되어 처리가 되는지 디버깅을 통해 찾아본 결과,

org.springframewirk.security.oauth2.config.annotaion.web.configuration 패키지의

WebSecurityConfigurerAdapter를 상속받은 AuthorizationServerSecurityConfiguration 클래스의 configure(HttpSecurity http) 메소드가 재정의 됨으로써 

"/oauth/token" URL이 매핑이 되었다는 것을 알 수 있었습니다.

제가 확인한 사항이 맞는지 궁금합니다.

답변 2

·

답변을 작성해보세요.

1

인증 토큰 처리는 언급하신대로 동작하는게 맞습니다. 스프링 시큐리티 OAuth2 프로젝트에 있는 컨트롤러가 처리해 줍니다. 클라이언트 ID와 시크릿은 사용자가 아니라 클라이언트 애플리케이션당 만들어집니다. 페이스북이나 깃헙 로그인을 만들거나 연동하는 애플리케이션을 만들 때 발급받는 애플리케이션 id와 시크릿과 동일하다고 생각하시면 됩니다.

1

Henu님의 프로필

Henu

질문자

2020.06.07

TEST 코드, 인증 서버 설정 파일(AuthServerConfig.class) 에서 cliend_id, client_secret을 설정하는 부분에 대하여 

추가적인 궁금 사항이 발생하여 여기에 글을 남깁니다.

예를 들어 Naver 아이디로 로그인 서비스를 사용할 때 절차를 보면,

네이버 개발자 센터 접속 > 네이버 아이디로 로그인 > 네이버 애플리케이션 생성 및 CLIENT_ID, CLIENT_SECRET 발급 > 이후 추가적인 API 사용 설정 등과 같은 절차로 네이버에서 제공하는 API를 사용할 수가 있었는데요.

이때 API를 사용하려고하는 유저(사용자)마다 각기 다른 CLIENT_ID, CLIENT_SECRET를 발급받는 것으로 알고 있습니다.

하지만 강의 내용에서 설정한 이값들은 애플리케이션 자체 고정적인 ID, SECRET 값을 의미하는지 아니면 사용자에게 발급되는 ID, SECRET인지 궁금합니다.

만약 후자인 경우 사용자마다 유효한 CLIENT_ID, CLIENT_SECRET인지 확인할 수 있는 방법은 어떤식으로 구현을 해야하는지 궁금합니다.

긴 글 읽어주셔서 감사합니다.