일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 실전 자바 중급 2편
- 도커
- 스레드
- 인프런
- 자바
- 제네릭스
- 스레드 제어와 생명 주기
- java
- 도커 엔진
- Docker
- 멀티 쓰레드
- 시작하세요! 도커 & 쿠버네티스
- 쓰레드
- 자료구조
- LIST
- Kubernetes
- container
- 알고리즘
- 김영한
- 시작하세요 도커 & 쿠버네티스
- 동시성
- 리스트
- Thread
- 중급자바
- 실전 자바 고급 1편
- 쿠버네티스
- 오케스트레이션
- 컨테이너
- Collection
- contatiner
- Today
- Total
쌩로그
OAuth2.0 구성 정보의 메타 정보(feat. 공식문서) 본문
내가 성장하는 것이 다른 사람에게 좋은 영향을 줄 수 있다.
그래서 나는 잘 되야만 한다.
나는 진짜 ㄹㅇ 조만간 잘 될 사람이다.
어차피 잘 될 것이고, 지금도 잘 된 사람이다..
어쨋든간에 나는 어잘될사다.
목차
- 개요
- 본론
- 요약
- 끝
1. 개요
yml설정에서 OAuth2.0의 구성정보를 설정하는데, 스프링에서 지원(구글,깃허브,페이스북 외)하지 않는 OpenId 클라이언트의 정보를 설정하는데, 모든 주석을 달고싶었다. 그런데, 각 항목의 세부정보가 어떤 것인지 알고싶었는데, GPT와의 사투(?;; 이놈 링크 알려주긴 하는데 그냥 공식 문서의 홈페이지로 리다이렉트됨 고맵긴한데,,,, 여튼..)끝에 뭔가 보이기 시작해서 글을 쓴다.

지금 블로깅 주제 스택 쌓인 게 어마어마하지만, 이건 지금 기록을 해놔야될 것 같아서 미리미리 작성을 하게 되었다.
2. 본론
내가 알고싶었던 건 다시 말하지만, 스프링에서 지원하지 않는 예를 들면, 카카오, 네이버 같은 OpenId
소셜로그인 구성을 할 때 yml의 세부항목이 어떤 걸 뜻하는지 알고싶었다..
이번 프로젝트에서 내가 진행하는 설정이나 코드에 모든 주석을 남기고 싶었으니..
그런데, 알아야 남기는데, GPT의 도움을 받았다.
spring:
security:
oauth2:
client:
registration:
google:
clientId:
clientSecret:
kakao:
clientId:
clientSecret:
redirect-uri:
client-authentication-method:
client-name:
scope:
provider:
kakao:
authorization-uri:
token-uri:
user-info-uri:
user-name-attribute:
이 정보들이다.
스프링 공식문서에서 알 수 있는 정보들이 있지만, registration
하위의 정보들은 나오질 않았다.
여기서 확인 가능하다.
구글, 깃허브, 페이스북은 스프링에서 지원하기 때문에 clientId
, clientSecret
정보만 줘도 되는데, 카카오 같은 OpenId
는 구성 정보를 또 설정해줘야 한다.
참고로 OpenId란?
> "여러 웹사이트에 여러 계정을 생성하고 관리하는 번거로움을 없애고, 대신 하나의 OpenId 식별자만으로 여러 서비스에 접근할 수 있도록 하는 것...OpenID는 인증 과정에서 사용자 신원 정보를 제공하기 위해 OAuth 프로토콜과 연동할 수 있습니다. "라고 한다. > 나의 한 줄 요약은 **인증과 인가를 신뢰할 수 있는 벤더사**라고 이해된다. >
> PT가 이이렇다고 한다.![]()
내가 지금 GPT한테 말하고 있'었'던 게 이거다.
![]()
나: "이거 어디서 볼 수 있냐? 공식문서 줘!"
피티 : "https://" 여기 들어가보세요!" 여기 들어가보세요!
나: "OK"
나: "안 나와! 알려줘!"
피티: "https://
나: "OK"
나: "안 나와! 알려줘!"🤔🤔🤔🤔🤔🤔🤔🤔
![]()
🤔🤔🤔🤔🤔🤔🤔🤔
대강 이런 상황 이었다.
그러다 문서를 보다보니 갑자기 눈에 띈게 있었다.스프링 시큐리티 문서 OAuth2.0에서의 'property Mapping'정보는 찾았다.
![]()
여기 세부 설명은 없다.
![]()
여기의 하위 부분의 yml을 다 뒤져봤지만. 코빼기도 보이지 않았다.
![]()
![]()
한국말과 영어차이.. 여튼 이 항목에서
![]()
ClientRegistration클래스의 필드들을 보다보니 뭔가 낯이 익었다..
spring: security: oauth2: client: registration: google: clientId: clientSecret: kakao: clientId: clientSecret: redirect-uri: client-authentication-method: client-name: scope: provider: kakao: authorization-uri: token-uri: user-info-uri: user-name-attribute:
registration의 하위 항목들과 똑같은 부분도 있지만, 비슷한 부분도 있다.
그럼 비슷한 부분이 무엇이냐? 단지 카멜케이스와 단어중간의 하이폰(-)차이다.
결론은 똑같은 항목이라는 것더욱이 확실한 것은 이미 아까 Property maapings사진에도 나와있었다는 것이다..!
![]()
;;;;;;;;;;;;
![]()
여튼 구성정보의 메타정보는 이미 공식문서에 나와있었고, 내가 못 본 것 뿐이었다...;;;;;
이거대로 나는 yml의 주석을 한 번 작성해보려고 한다..
3. 요약
- 내가 생각한 OpenId는 인증과 인가를 신뢰할 수 있는 벤더사이다. 구글도, 페이스북도 깃허브도 OpenId이다.
1-1. OpenId도 뭔가 세부적인 개념이 있는 거 같다. 나중에 알아봐야겠다.- 스프링에서 지원하지 않는 OpenId의 OAuth2 구성정보의 메타정보는 공식문서에 형태만 다르게 되어있을 뿐 이미 나와있다.
2-1. 대충 보다가 시간이 더 크게 잡히게 하기보단, 항목 하나하나 자세히 보는 게 시간이 훨씬 단축 될 수 있을 것 같다..;;- "도르마무~ I come to bargen. I'm Strange"(그냥 스트레인지 : 이상하다.)
4. 끝
-끝-
참고링크
'Project > 취준-프로젝트' 카테고리의 다른 글
JWT를 관리하기 위한 Redis 로직 (0) | 2023.07.24 |
---|---|
응답 DTO에 대한 고민 (3) | 2023.07.03 |
REST API 설계에 대한 고민 (0) | 2023.06.14 |
브랜치 관리...(feat.딥빡) (0) | 2023.05.31 |
디스코드 웹 후크 (2) | 2023.05.22 |