728x90

 Oauth2.0에 대해 작년에 아무런 지식없이 인터넷을 방황하며 코드를 작성했었다. 당시 Nestjs로 작성했었는데 이제는 다른 프레임워크로 작성해야했다. 이번에는 스프링 부트로 oauth를 이용하려고 하고 라이브러리를 찾아본 결과 시큐리티 5에 있는 oauth2.0-client를 이용했다.

어려운 부분은 크게 2가지였다.

1. 트위치 Oauth에 적용하기
2. Oauth2.0에 대한 지식

해결했던 방법

1. 트위치 Oauth2.o에 적용을 해결했던 방법

 카카오와 네이버도 스프링 Oauth2.0 라이브러리에서 제공하는 기본 제공자가 아니다. 이 두개의 적용 방법과 트위치 개발자 페이지와 검색을 통해서 해결했다.

spring.security.oauth2.client.registration.twitch.client-id = 
spring.security.oauth2.client.registration.twitch.client-secret = 
spring.security.oauth2.client.registration.twitch.client-name=Twitch
spring.security.oauth2.client.registration.twitch.authorization-grant-type = authorization_code
spring.security.oauth2.client.registration.twitch.client-authentication-method=post
spring.security.oauth2.client.registration.twitch.redirect-uri = http://localhost:8080/login/oauth2/code/twitch
spring.security.oauth2.client.registration.twitch.response_type=token
spring.security.oauth2.client.registration.twitch.scope=user:read:email

# Twitch Provider 등록
spring.security.oauth2.client.provider.twitch.authorization-uri=https://id.twitch.tv/oauth2/authorize
spring.security.oauth2.client.provider.twitch.token-uri=https://id.twitch.tv/oauth2/token
spring.security.oauth2.client.provider.twitch.user-info-uri=https://id.twitch.tv/oauth2/userinfo
spring.security.oauth2.client.provider.twitch.user-name-attribute=token

 2. 기본 지식의 부족

 code를 받아서 token를 받아오는 방식이 있다. => 권한 코드

브라우저 기반 클라이언트 사이드 앱 암묵적 허가 => 액세스 토큰 발급

총 4가지 방식 중에서 2가지를 헷갈렸었다.

권한 코드는 백엔드에서 처리하는 방식에 적합하고 위 설정 파일에서spring.security.oauth2.client.registration.twitch.authorization-grant-type = authorization_code 라고 적은 부분도 어떤 방식을 이용하겠다고 설정한 것이다.

방법의 종류와 방법의 진행 방식을 책을 통해서 학습 후 진행하니까 수월해졌다.
 

반응형

+ Recent posts