목표
- OAuth2.0 / OIDC를 준수한 OAuth2.0 Provider POC 구축
기술 스택
- Spring Boot Framework
- React(typescript based)
- Mysql, Redis
Architecture
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/245dda9d-a520-4806-ba54-7b842be807e8/Untitled.png)
Main Page
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b3c66c91-4a73-4884-807c-d0b2981aaf45/Untitled.png)
![Untitled](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/760b740b-5d35-47db-8448-c03d9121dc91/Untitled.png)
Endpoints
-
api/v1/ouath2/authorize
- client_id, scope, redirect_uri, state를 인자로 받아, 로그인 창으로 redirect
FLOW(로그인 페이지)
-
api/v1/oauth2/signin
- email, password를 인자로 받아, authorization_code, state를 쿼리스트링으로 redirect_uri에 redirect
FLOW(로그인 -signin)
-
api/v1/oauth2/token
- authorization_code를 인자로 받아, access_token, scope에 따라 id_token발급
FLOW(token발급)
-
api/v1/oauth2/revoke
Revoke Token
-
api/v1/ouath2/initialize
- client, user정보를 초기화 하는 API (Mock Data 생성 api)
-
api/v1/oauth2/introspect
-
api/v1/user/me
- 유저 profile 정보를 scope에 맞게 리턴하는 API