ㅡㅡ
[%] Oauth2.0 원래 어렵냐? 처음 적용 할라고하니깐 동작을 안하노
익명(58.123)
2025-01-22 15:00
추천 0
댓글 21
다른 게시글
-
다들 로그 관리 어떻게함? [2][질문] 익명(211.234) | 25.01.22추천 0
-
플래시어텐션에 대해 공부했어요 [4][%] 미쿠쟝마지..(6974aaai) | 25.01.22추천 0
-
코딩 테스트는 기업 편의고, 과제 테스트가 훨씬 좋다고 생각함. [4][%] 익명(192.145) | 25.01.22추천 0
-
걍 주위보면 코로나때 취업한 놈들이 최고 꿀쟁이들 같다 [2][%] 익명(211.36) | 25.01.22추천 2
-
코테? 여기 경력자들 실버도 못품 [8][%] 익명(bend6137) | 25.01.22추천 3
-
2025년에도 버전관리귀찮다고 안하는곳있음 [2][%] 익명(211.219) | 25.01.22추천 1
-
깃갤 주간문제 풀이 [6][대회] 다믜(damhiya) | 25.01.22추천 11
-
Lua 하나 배우면 쓸 일 있을까 [11][%] 제라(kjkj5757) | 25.01.22추천 0
-
프러덕션 서버로 AWS EC2 사양 주로 뭐씀? [6][%] 프로그래밍(nowadays3724) | 25.01.22추천 0
-
커서한테 영어로 지시하기 [1][%] 익명(q7a4z1x2s5w8) | 25.01.21추천 0
몇년전에 국비때 걍 1주 걸려서 만든거 같은데
ㅋㅋㅋㅋ 어케하고있는데 - dc App
oauth client? authorize server? 전자는 보안 구현 안하면 50라인컷임
authorize server <- 이거 만들엇고 권한 공유하는 클라이언트 2개 운용 해야되는데
일단 인증서버 하나 두고 두개의 다른 도메인이 권한을 공유하도록 해야되는데 말이야 한번의 로그인으로 이런경우에 필요한게 맞냐...
a사이트에서 로그인되면 b사이트에서도 같은유저로 로그인되어야한다고? 아니면 a사이트랑 b사이트가 같은 권한을 가져야된다고? - dc App
머 네이버 구글 카카오로그인 다 되는데 같은유저로 관리되어야 한다는뜻임? - dc App
ㅇㅇㅇ맞다 같은 권한으로 로그인 ㅇㅇㅇ
유저정보 저장할때 같은 이메일이면 같은 유저로 판별되도록 하면 됨 - dc App
근데 도메인 다르면 보안상 문제생길텐데 - dc App
그래서 지금 인증서버에 도메인 등록해두고 쓰고 있음 그니깐 이구조에선 Oauth가 필요없는거 아닌가... 걍 어줍잖게 알아서 어케 적용해야 될지 모르겟움 ㅠㅠ
1. 인증서버가 네이버 카카오 구글 이걸 말하는거임? 아니면 로그인요청 받아서 유저디비에서 가져오는 서버 말하는거임? 2. 여러 소셜로그인을 쓰고싶다는거임? 아님 여러 사이트에서 같은 계정을 쓰고싶다는거임? 네이버에서 회원가입하면 다음에서도 그 계정으로 로그인되게? - dc App
스프링에서 쓰는건갑네 난 노드로했었어서 - dc App
여러 사이트에서 같은 계정을 쓰고싶단말임 소셜로그인 x 오오쓰는 이럴때 쓰는게 아님?
아니 Oauth개념을 내가 잘 모르는 거일수도 있어 지금 Oauth 안쓰고 그냥 토큰 공유하는 식으로 처리중인데 이게 맞는거냐...?
어려운거 맞음
만들긴 했는데 가능하면 그쪽은 안건들고 싶음... 팁을 몇개 주자면. 1. 스프링쪽에서 JPA로 구현하는게 어려움, JDBC까지만 할 수 있는게 기본이라 좀 그래. 2. RegiteredClientRepository 구현 잘해야함 JPA 쓰면 "JpaRegiteredClientRepository" 같은 이름으로 커스텀 구현 잘해놔야 하고 3. oauth2 로그인은 클라->인증 로그인 페이지->클라code 인증->인증토큰 jwt 발급->클라임 3.
형님 그니깐 로그인 토큰과 클라인증 토큰이 다르다는거죠?
로그인 할 때에는 토큰이 아니라 spring security JSESSION(혹은 그 외 로그인도 가능)으로 구성해야함. 그 세션 인증 통과하면, 클라이언트로 authorization code 보내고 그 코드 응답을 패스해서 authorization server에 전송해서 토큰을 발급받아 클라이언트로 보내서 클라이언트가 유저에게 보내는 것임.
아 링크 다이어그램의 경우에는 클라이언트가 직접 리소스 서버에 전달하는건데, 제가 구현햇을 때에는 그냥 유저 브라우저가 가지고 있는걸 전달해서 쓰는 방향으로 했어요. 왜 그렇게 했냐면, 다른 서비스에서도 동일한 JWT 토큰으로 처리해서 리소스 서버 인가를 좀 쉽게 할려고.
링크 지저분해서 이걸로 대체함, 여기서 내가 썻던 클라이언트라는 표현이 헷갈리기 좋은데, 브라우저 영역은 유저라고 부르고, 클라이언트라 부르는건 보통 인증서버가 쓸 서비스임.
https://logicwiki.co.uk/OAUTH_2.0_Flows_With_Diagrams