-
Notifications
You must be signed in to change notification settings - Fork 1
Client side OAuth process
Reese Kim edited this page May 21, 2020
·
1 revision
메인에서 로그인 버튼 클릭시 ~/with-github (request url)을 통해 Application server(Client)에 인증 요청
- JWT 있으면
status 200
라우팅 처리 및 로그인 -> 로그아웃 버튼 전환 - JWT가 없으면
status 302
redirect (https://github.com/login/oauth/authorize?client_id=!@#$%^) (페이지 이동 또는 팝업으로 노출)
redirect 페이지 또는 팝업에서 동의 버튼 클릭했을 때
- Application server가 Resource server로부터 accessToken을 발급받고 유저 정보를 db에 저장
- User 정보를 JWT로 만들어서 Set-Cookie 값으로 전달 (status : 2xx / 4xx / 5xx)
redirect 화면 노출 방식에 따른 라우팅 처리
- 페이지 : JWT가 있으면 로그인 완료시의 메인페이지로 라우팅
- 팝업 : (부모창과 팝업이 쿠키를 공유하는지 확인 필요)
- 공유O ---> 팝업 닫기 / 로그인 완료시의 메인페이지로 라우팅
- 공유X ---> 팝업 -> 부모창으로 쿠키 세팅 필요 & 나머지는 상동