시작하기
조회
타입
카테고리
희망일
생성일
인가 코드 받기
Request
										GET /?client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&response_type=code HTTP/1.1 
										Host: oauth.network
									
Request - Parameter
Name Type Description Required
client_id String 앱 REST API 키
[시작하기]에서 확인 가능
O
redirect_uri String 인가 코드를 전달받을 서비스 서버의 URI
파라메터 redirect_uri 등록
단 신청한 도메인 host가 꼭 포함되어야함
O
response_type String code로 고정 O
scopes String 사용자에게 동의 요청할 동의 항목 ID 목록
쉼표(,)로 구분해 여러 개 전달 가능
email, phone 선택 요청가능
X
state String 로그인 과정 중 동일한 값을 유지하는 임의의 문자열(정해진 형식 없음)
Cross-Site Request Forgery(CSRF) 공격으로부터 oauth.network 로그인 요청을 보호하기 위해 사용
각 사용자의 로그인 요청에 대한 state 값은 고유해야 함
인가 코드 요청, 인가 코드 응답, 토큰 발급 요청의 state 값 일치 여부로 요청 및 응답 유효성 확인 가능
X
nonce String OpenID Connect를 통해 Cliend Id을 함께 발급받을 경우, Cliend Id 재생 공격을 방지하기 위해 사용
Cliend Id 유효성 검증시 대조할 임의의 문자열(정해진 형식 없음)
X
Response
Name Type Description Required
code String 토큰 받기 요청에 필요한 인가 코드 X
state String 요청 시 전달한 state 값과 동일한 값 X
error String 인증 실패 시 반환되는 에러 코드 X
error_description String 인증 실패 시 반환되는 에러 메시지 X
토큰 받기
Request
										POST /?grant_type=authorization_code&client_id=${client_id}&redirect_uri=${redirect_uri}&code=${code}&client_secret=${client_secret} HTTP/1.1
										Host: oauth.network
										Content-type: application/x-www-form-urlencoded;charset=utf-8
										
									
Request - Parameter
Name Type Description Required
grant_type String authorization_code로 고정 O
client_id String 앱 REST API 키
[시작하기]에서 확인 가능
O
redirect_uri String 인가 코드가 리다이렉트된 URI O
code String 인가 코드 받기 요청으로 얻은 인가 코드 O
client_secret String 토큰 발급 시, 보안을 강화하기 위해 추가 확인하는 코드
[시작하기]에서 확인 가능
O
Response
Name Type Description Required
token_type String 토큰 타입, bearer로 고정 O
access_token String 사용자 액세스 토큰 값 O
client_id String Cliend Id 값
OpenID Connect 확장 기능을 통해 발급되는 Cliend Id, Base64 인코딩 된 사용자 인증 정보 포함
X
expires_in Integer 액세스 토큰과 Cliend Id의 만료 시간(초)

참고: 액세스 토큰과 Cliend Id의 만료 시간은 동일
O
refresh_token String 사용자 리프레시 토큰 값 O
refresh_token_expires_in Integer 리프레시 토큰 만료 시간(초) O
scope String 인증된 사용자의 정보 조회 권한 범위
범위가 여러 개일 경우, 공백으로 구분
X
토큰 리프래쉬
										POST / HTTP/1.1
										Host: oauth.network
										authorization: bearer ${access_token}
										Content-type: application/x-www-form-urlencoded;charset=utf-8
										
									
Request - Header
Name Description Required
authorization 사용자 인증 수단, 액세스 토큰 값
authorization: bearer ${access_token}
O
Response
Name Type Description Required
token_type String 토큰 타입, bearer로 고정 O
access_token String 갱신된 사용자 액세스 토큰 값 O
client_id String 갱신된 Cliend Id 값

제공 조건: Cliend Id과 함께 발급된 리프레시 토큰으로 토큰 갱신을 요청한 경우
X
expires_in Integer 액세스 토큰 만료 시간(초) O
refresh_token String 갱신된 사용자 리프레시 토큰 값, 기존 리프레시 토큰의 유효기간이 1개월 미만인 경우에만 갱신 X
refresh_token_expires_in Integer 리프레시 토큰 만료 시간(초) X
사용자 정보받기
										POST /?hash=${hash}&?token=${token} HTTP/1.1
										Host: oauth.network
										Authorization: bearer ${access_token}
										Content-type: application/x-www-form-urlencoded;charset=utf-8
										
									
Request - Header
Name Description Required
Authorization 사용자 인증 수단, 액세스 토큰 값
Authorization: bearer ${access_token}
O
Request - Parameter
Name Type Description Required
hash String client hash 값 X
token String client token 값 X
Response
Name Type Description Required
token_type String 토큰 타입, bearer로 고정 O
access_token String 갱신된 사용자 액세스 토큰 값 O
client_id String 갱신된 Cliend Id 값

제공 조건: Cliend Id과 함께 발급된 리프레시 토큰으로 토큰 갱신을 요청한 경우
X
expires_in Integer 액세스 토큰 만료 시간(초) O
refresh_token String 갱신된 사용자 리프레시 토큰 값, 기존 리프레시 토큰의 유효기간이 1개월 미만인 경우에만 갱신 X
refresh_token_expires_in Integer 리프레시 토큰 만료 시간(초) X
email String client email 값 X
phone String client phone 값 X