==개요== [[GBSWiki]] 계정으로 타 서비스에 로그인할수 있는 기능이다. 2023년 [[IRooM]] 프로젝트에 도입될 예정이다. 아래와 같은 방식으로 작동한다. [[file:OAuth2.png]] ==문서== 토큰은 60분, 리프레쉬 토큰은 90분, 인증 코드는 1분의 유효시간을 가집니다. ===클라이언트 등록=== [[나태양(17기)]]에게 문의하세요. ==== 권한 ==== || 권한 이름 || 상태(유저 권한) || id || email || || id || O || O || X || || id_email || O || O || O || ===권한 부여 승인 코드 요청=== 엔드포인트: /oauth2/login 메소드: GET 쿼리: || 이름 || 설명 || || client_id || 클라이언트(서비스)의 ID || || redirect_uri || 로그인 후 리다이렉트할 URI || || scope || 권한 || 응답: URI에 포함 리다이렉트: {redirect_uri}?code={응답 코드} ===토큰 요청=== 엔드포인트: /oauth2/auth 메소드: POST 쿼리: || 이름 || 설명 || || client_id || 클라이언트(서비스)의 ID || || scope || 권한 || 바디: || 이름 || 설명 || || client_secret || 클라이언트(서비스)의 시크릿 키 || || code || 승인 코드 || 응답 예: { "access_token": "qc6wtFb7aeN167YcfUcPbzyqpC9v6UQd", "expire": "2023-01-05 11:42:21", "expire_refresh": "2023-01-05 12:12:21", "refresh_token": "SUAr1hgmF9YLD4siRu1775K6PrPLVqwq", "scope": "id_email" } ===토큰 재발급=== 엔드포인트: /oauth2/refresh 메소드: POST 쿼리: || 이름 || 설명 || || client_id || 클라이언트(서비스)의 ID || || scope || 권한 || 바디: || 이름 || 설명 || || client_secret || 클라이언트(서비스)의 시크릿 키 || || refresh_token || 리프레쉬 토큰 || 응답 예: { "access_token": "qc6wtFb7aeN167YcfUcPbzyqpC9v6UQd", "expire": "2023-01-05 11:42:21", "expire_refresh": "2023-01-05 12:12:21", "refresh_token": "SUAr1hgmF9YLD4siRu1775K6PrPLVqwq", "scope": "id_email" } ===유저 정보 보기=== 엔드포인트: /ex/user/info 메소드: POST 바디: || 이름 || 설명 || || token || 토큰 || || client_id || 클라이언트(서비스)의 ID || 응답 예: { "acl": "owner", "email": "gbs.s210023@ggh.goe.go.kr", "id": "hegelty" }