---
title: "토큰 발급 및 재발급"
method: POST
path: "/oauth/token"
tags: ["OAUTH APPLICATION API"]
---

# 토큰 발급 및 재발급

`POST /oauth/token`

발급받은 인증코드(Docs - OAuth2 연동하기 - 인가요청 참고)를 이용하여 access_token과 refresh_token을 발급받습니다.

토큰 발급과 재발급은 요청 시 아래와 같은 차이가 있으니 유의하시기 바랍니다.

* 토큰 발급 : grant_type="authorization_code", code속성에 인증코드를 입력
* 토큰 재발급 : grant_type="refresh_token", refresh_token속성에 refresh_token을 입력 후 요청

토큰 재발급 시 refresh_token이 함께 갱신되어 발급될 수 있으니 발급 시 기존 발급받은 refresh_token과 상이할 경우 보관중인 저장소의 refresh_token을 함께 갱신해야 합니다.

## Request body

- CreateOAuthTokenRequestDto
  - `grant_type` 'authorization_code' | 'refresh_token', required — 토큰 발급 승인 유형
  - `client_id` string, required — 등록 된 앱의 client_id
  - `client_secret` string, required — 앱 등록 시 발급받은 client_secret
  - `redirect_uri` string, nullable — 인가코드 발급 시 요청 했던 redirect_uri 값(일치 여부 검증), 토큰 재발급시에는 검증하지 않음
  - `code` string, nullable — grant_type이 authorization_code인 경우에만 입력(발급받은 인증코드 입력)
  - `refresh_token` string, nullable — grant_type이 refresh_token인 경우에만 입력(발급받은 refresh_token입력)

## Response `200`

- CreateOAuthTokenResponseDto
  - `access_token` string, required — 발급 받은 access_token
  - `refresh_token` string, required — 발급 받은 refresh_token(refresh_token은 자동 갱신 될 수 있으니 항상 안전한 곳에 저장 및 갱신 하셔야 합니다.)
  - `token_type` 'Bearer', required — 발급받은 토큰의 타입
  - `expires_in` number, required — 발급받은 액세스 토큰의 유효 기간(sec.)
  - `refresh_token_expires_in` number, required — 발급받은 새로고침 토큰의 유효 기간(sec.)

---

[API](https://skmtc.dev/modusign/apis/modusign-api.md) · [All operations](https://skmtc.dev/modusign/apis/modusign-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/modusign/modusign-api/revisions/5772e872cbf9/schema)
