[미소] 클론코딩 프로젝트 2-4) 이용자 서비스 API 설계 - 소셜 로그인

2023. 8. 11. 16:39초기 과업/BackEnd

작성자알 수 없는 사용자

728x90
반응형

2023.08.10 - [초기 과업/BackEnd] - [미소] 클론코딩 프로젝트 2-3) 이용자 서비스 API 설계 - 회원 로그인

 

[미소] 클론코딩 프로젝트 2-3) 이용자 서비스 API 설계 - 회원 로그인

2023.08.10 - [초기 과업/BackEnd] - [미소] 클론코딩 프로젝트 2-2) 이용자 서비스 API 설계 - 회원가입 [미소] 클론코딩 프로젝트 2-2) 이용자 서비스 API 설계 - 회원가입 2023.08.10 - [초기 과업/BackEnd] - [미

giggal-people.tistory.com

 

안녕하세요. 기깔나는 사람들에서 백엔드를 맡고 있는 황시아입니다.

 

저번 시간에 설계했던 로그인 API에 이어서 소셜 로그인 API도 설계해 보겠습니다.

 

 

네이버 로그인 API

Request

API 호출 방식

요청 URL 메서드
/api/oauth2/authorization/naver GET

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Content-Type String 필수 application/x-www-form-urlencoded이어야 함

 

Request Elements

Request Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
code   String 필수 네이버에서 발급하는 인가 코드
접근 토큰(access token) 발급에 사용
state   String 필수 네이버에서 발급하는 인가 코드

 

Request Syntax

curl -X GET http://{BASE_URL}/oauth2/authorization/naver

네이버 로그인 인증에 성공하면 지정된 리다이렉트 URL로 리다이렉션 후 URL에서 code와 state을 파싱해 접근 토큰 발급 요청

 

Response

Response Elements

Response Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
statusCode   Integer 필수 API 공통 가이드 - 공통 Response 참조
message   String 필수 API 공통 가이드 - 공통 Response 참조
data   Object 필수 회원 정보와 토큰 정보
token data Object 필수 토큰 정보
accessToken token String 필수 접근 토큰
refreshToken token String 필수 갱신 토큰
accessTokenExpiresIn token Integer 필수 접근 토큰 유효시간(초)
member data Object 필수 회원 정보
id member String 필수 네이버 ID
name member String 필수 이름
email member String 필수 이메일

 

Response Syntax

네이버 접근 토큰 발급에 성공하면 앱 서버 내에서 JWT 토큰을 생성해 회원 정보와 함께 반환
{
    "statusCode": 200,
    "message": "성공",
    "data": {
        "token": {
            "accessToken" : "",
            "refreshToken" : "",
            "accessTokenExpiresIn": "1800"
        },
        "member": {
            "id" : "id",
            "name" : "이름",
            "email" : "이메일"
        }
    },
}

 

 

구글 로그인 API

Request

API 호출 방식

요청 URL 메서드
/api/oauth2/authorization/google GET

 

Request Header

Request Header에 대한 상세는 다음과 같습니다.

파라미터 타입 필수 여부 설명
Content-Type String 필수 application/x-www-form-urlencoded이어야 함

 

Request Elements

Request Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
code   String 필수 구글에서 발급하는 인가 코드
접근 토큰 발급에 사용

 

Request Syntax

curl -X GET http://{BASE_URL}/oauth2/authorization/google

구글 로그인 인증에 성공하면 지정된 리다이렉트 URL로 리다이렉션 후 URL에서 code을 파싱해 접근 토큰 발급 요청

 

 

Response

Response Elements

Response Elements에 대한 상세는 다음과 같습니다.

필드 상위 필드 타입 필수 여부 설명
statusCode   Integer 필수 API 공통 가이드 - 공통 Response 참조
message   String 필수 API 공통 가이드 - 공통 Response 참조
data   Object 필수 회원 정보와 토큰 정보
token data Object 필수 토큰 정보
accessToken token String 필수 접근 토큰
refreshToken token String 필수 갱신 토큰
accessTokenExpiresIn token Integer 필수 접근 토큰 유효시간(초)
member data Object 필수 회원 정보
id member String 필수 구글 ID
name member String 필수 이름
email member String 필수 이메일

 

Response Syntax

구글 접근 토큰 발급에 성공하면 앱 서버 내에서 JWT 토큰을 생성해 회원 정보와 함께 반환
{
    "statusCode": 200,
    "message": "성공",
    "data": {
        "token": {
            "accessToken" : "",
            "refreshToken" : "",
            "accessTokenExpiresIn": "1800"
        },
        "member": {
            "id" : "id",
            "name" : "이름",
            "email" : "이메일"
        }
    },
}

 

 

728x90
반응형