---
type: guideline
title: 共通機能標準仕様書 別紙9-1 OAuth2.0アクセストークン発行API仕様書【第1.4版】
source: デジタル庁
version: 第1.4版
updated: 2026-09-30
source_url: https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/4d056a04-6eba-4109-9850-a786d3e71971/4fd2d75a/20260930_policies_local_governments_specification_22.zip
source_page: https://www.digital.go.jp/policies/local_governments/common-feature-specification
---

# 共通機能標準仕様書 別紙9-1 OAuth2.0アクセストークン発行API仕様書【第1.4版】

> 原本: デジタル庁「地方公共団体情報システム共通機能標準仕様書」の別紙 2026年9月30日公開分（[ZIP](https://www.digital.go.jp/assets/contents/node/basic_page/field_ref_resources/4d056a04-6eba-4109-9850-a786d3e71971/4fd2d75a/20260930_policies_local_governments_specification_22.zip)、[掲載ページ](https://www.digital.go.jp/policies/local_governments/common-feature-specification)）の「別紙9-1\_OAuth2.0アクセストークン発行API仕様書【第1.4版】.xlsx」。シートごとに見出しを立て、見出し行で始まる表は表に、それ以外の行は段落にした（値はセルの文字列のまま、結合セルの 2 つ目以降は空欄。表の外の行で文字が複数あるものはセルの値を空白でつないだ）。見出しが 2 段の表は列見出しを「 / 」でつないだ。シートに描かれた図形・画像（シーケンス図等）は載せていない。

[共通機能標準仕様書の別紙](./index.md)・[共通機能標準仕様書](../kyotsu-kino/index.md)

## 表紙

地方公共団体情報システム<br>共通機能標準仕様書

OAuth2.0アクセストークン発行API仕様

第1.4版

令和8年9月


## OAuth2.0アクセストークン発行API仕様

API仕様書 仕様名

OAuth2.0アクセストークン発行API仕様

概要

本資料はOAuth2.0アクセストークン発行を実施するためのAPI仕様について記述したものである。<br>「地方公共団体情報システムデータ要件・連携要件標準仕様書」の「文字要件」で定めた標準仕様に従う必要がある。<br>本APIでサポートするHTTPメソッドはPOSTとする。

提供可能なAPIコールについて

提供するAPIコールは、以下の通りである。

| No. | APIコール名 | 操作種類 | 概要 |
|---|---|---|---|
| 1 | oauth/v1/token | Create | OAuth2.0アクセストークン発行を実施する。 |

APIコールにおける補足事項

■通信プロトコル<br>　本APIを利用する際の通信プロトコルは、HTTP1.1以上を採用する。<br>■要求元認証<br>　本APIの要求元認証は、認証方式：client\_secret\_jwtで行う。


## APIシーケンス（OAuth2.0）

API仕様書 仕様名

OAuth2.0アクセストークン発行API仕様

シーケンス図

凡例 APIのレスポンス、リクエストデータに関する説明


## リクエスト\_API仕様

API仕様書 仕様名

OAuth2.0アクセストークン発行API仕様

使用方法

本APIを使用してOAuth2.0アクセストークンの発行を要求する。<br>正常に発行が完了した場合は、アクセストークンが返却される。正常に発行されなかった場合は、失敗した理由がエラーメッセージとして返却される。<br>Content-typeにapplication/x-www-form-urlencodedを指定してデータを送信する形式でリクエストし、JSON形式で返却される。<br>HTTPメソッド：POST<br>リクエストヘッダー：Content-Type: application/x-www-form-urlencoded

留意事項

本APIが正常に終了した場合は、HTTPステータスコード200とJSON形式のレスポンスオブジェクトが返却される。（レスポンス\_API仕様を参照）

送信したパラメータのチェックにてエラーとなった場合は、HTTPステータスコード400とJSON形式のレスポンスオブジェクトが返却される。（レスポンス\_API仕様を参照）

クライアント認証情報（クライアントアサーション）が取得できない場合は、HTTPステータスコード401とJSON形式のレスポンスオブジェクトが返却される。（レスポンス\_API仕様を参照）

処理が30秒以上経過した場合は、タイムアウトとなる。タイムアウトが発生した場合、原則HTTPステータスコード500番台のエラーが返却される。（JSON形式では返却されない）※目安として30秒と記載しているが、性能テストを踏まえ、適切なタイムアウト時間を設定されたい

サービスメンテナンス時も同様に原則HTTPステータスコード500番台のエラーが返却される。（JSON形式では返却されない）

上記以外の想定外エラーが発生した場合は、HTTPステータスコード503とJSON形式のレスポンスオブジェクトが返却される。（レスポンス\_API仕様を参照）

※1　【必須】　　：「◎」・・・　パラメータまたはオブジェクトが必ず出現する。　「」（空白）・・・パラメータまたはオブジェクトが出現しない場合がある。

※2　【null設定有無】　　：「〇」・・・　値にnullが設定される場合がある。 API記述例："nominal\_segregation\_address\_num": null

「-」・・・値にnullは設定されない。

リクエストID oauth/v1/token\_R01

パラメータ

| 項番 | パラメータ名 | 項目名 | 項目説明 | 記述例 | 必須※1 | データ型 | 文字種 | データ長 / 桁数 | 検索方法 | 備考 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | grant\_type | グラントタイプ | 利用するOAuth2.0のグラントタイプを指定する | grant\_type=client\_credentials | ◎ | 文字列 | 半角<br>英字<br>記号 | 18 |  | "client\_credentials"で固定 |
| 2 | client\_assertion\_type | クライアントアサーションタイプ | 利用するOAuth2.0のクライアントアサーションタイプ | client\_assertion\_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer | ◎ | 文字列 | 半角<br>英字<br>記号 | 54 |  | "urn:ietf:params:oauth:client-assertion-type:jwt-bearer"で固定 |
| 3 | client\_assertion | クライアントアサーション | クライアントIDとクライアントシークレットから作成したクライアントアサーションJWT | client\_assertion=eyJhbGciOiJSUzI1NiIsImtpZCI6IjIyIn0.eyJpc3Mi\[...omitted for brevity...\].cC4hiUPo\[...omitted for brevity...\] | ◎ | 文字列 | 半角<br>英数字<br>記号 | - |  | 生成方法は「クライアントアサーションJWT生成方法」参照 |
| 4 | scope | 利用するAPIのリスト | 利用するAPIに対応するスコープを<br>「${提供側業務システムの業務システムID}:${リソース名}:${操作名}」で指定する<br>スコープの文字列は下記に示す対応に基づいて決定する。<br>・提供側業務システムの業務システムID：「地方自治体の基幹業務システムの統一・標準化における各種IDの管理方針」の業務ID<br>・リソース名：「共通機能標準仕様書 別紙API仕様書」のAPIコール名<br>・操作名：「共通機能標準仕様書 別紙API仕様書」の操作種類<br>複数のスコープの指定が必要である場合は、スペース区切りで指定する。 | scope=031:app\_submit/v1/jutogaishaatenakihonjohosyokai:Read | ◎ | 文字列 | 半角<br>英数字<br>記号 | - |  | 複数の提供側業務システムにアクセスする場合は、提供側業務システムごとに最小限のスコープを付与すること。<br>（記述例は、住登外者宛名基本情報に伴う情報のReadを表現したもの） |


## クライアントアサーションJWT生成方法

API仕様書 仕様名

OAuth2.0アクセストークン発行API仕様

クライアントアサーションJWT生成方法

本APIのリクエストに必要なクライアントアサーションJWTの生成方法を記載する。

生成方法

1\) ヘッダ部分のJSON文字列をbase64urlエンコードする

【例】 エンコード前のJSON : {"alg": "HS256"}

エンコード後の文字列 : eyJhbGciOiJIUzI1NiJ9

2\) ペイロード部分のJSON文字列をbase64urlエンコードする

【例】 エンコード前のJSON : {"iss": "JTAxK5JPI4kmD63U4wautrSvaHj3WbBQ","sub": "JTAxK5JPI4kmD63U4wautrSvaHj3WbBQ","aud": "https://server.example.com/oauth/v1/token","jti": "KJmqpyT0Q2DhylAPnyxOeJEwvvsdhLE7kY87hepM23hgRMIWRvFURm7gtcQEGQrO72LI7bkfYAVx6NfBy0NT6e1MUkOHThUOcM4msIhv5kBhcoL7rx0UdnBStvxCMptV","exp": 1659281200,"iat": 1659280600}

エンコード後の文字列 : eyJpc3MiOiAiSlRBeEs1SlBJNGttRDYzVTR3YXV0clN2YUhqM1diQlEiLCJzdWIiOiAiSlRBeEs1SlBJNGttRDYzVTR3YXV0clN2YUhqM1diQlEiLCJhdWQiOiAiaHR0cHM6Ly9zZXJ2ZXIuZXhhbXBsZS5jb20vb2F1dGgvdjEvdG9rZW4iLCJqdGkiOiAiS0ptcXB5VDBRMkRoeWxBUG55eE9lSkV3dnZzZGhMRTdrWTg3aGVwTTIzaGdSTUlXUnZGVVJtN2d0Y1FFR1FyTzcyTEk3YmtmWUFWeDZOZkJ5ME5UNmUxTVVrT0hUaFVPY000bXNJaHY1a0JoY29MN3J4MFVkbkJTdHZ4Q01wdFYiLCJleHAiOiAxNjU5MjgxMjAwLCJpYXQiOiAxNjU5MjgwNjAwfQ

3\) 1)で作成したbase64urlエンコード後の文字列と2)で作成したbase64urlエンコード後の文字列を"."で接続した文字列を、クライアントシークレットをキーに利用して、HMAC SHA-256アルゴリズムで計算した値をbase64urlエンコードする

【例】 署名対象の文字列 : eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAiSlRBeEs1SlBJNGttRDYzVTR3YXV0clN2YUhqM1diQlEiLCJzdWIiOiAiSlRBeEs1SlBJNGttRDYzVTR3YXV0clN2YUhqM1diQlEiLCJhdWQiOiAiaHR0cHM6Ly9zZXJ2ZXIuZXhhbXBsZS5jb20vb2F1dGgvdjEvdG9rZW4iLCJqdGkiOiAiS0ptcXB5VDBRMkRoeWxBUG55eE9lSkV3dnZzZGhMRTdrWTg3aGVwTTIzaGdSTUlXUnZGVVJtN2d0Y1FFR1FyTzcyTEk3YmtmWUFWeDZOZkJ5ME5UNmUxTVVrT0hUaFVPY000bXNJaHY1a0JoY29MN3J4MFVkbkJTdHZ4Q01wdFYiLCJleHAiOiAxNjU5MjgxMjAwLCJpYXQiOiAxNjU5MjgwNjAwfQ

エンコード後の署名値 : dBjftJeZ4CVP-mB92K27uhbUJU1p1r\_wW1gFWFOEjXk

4\) 1)で作成したbase64urlエンコード後の文字列、2)で作成したbase64urlエンコード後の文字列、3)で作成したbase64urlエンコード後の文字列を"."で接続した値が、クライアントアサーションJWT

【例】 生成したクライアントアサーションJWT : eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiAiSlRBeEs1SlBJNGttRDYzVTR3YXV0clN2YUhqM1diQlEiLCJzdWIiOiAiSlRBeEs1SlBJNGttRDYzVTR3YXV0clN2YUhqM1diQlEiLCJhdWQiOiAiaHR0cHM6Ly9zZXJ2ZXIuZXhhbXBsZS5jb20vb2F1dGgvdjEvdG9rZW4iLCJqdGkiOiAiS0ptcXB5VDBRMkRoeWxBUG55eE9lSkV3dnZzZGhMRTdrWTg3aGVwTTIzaGdSTUlXUnZGVVJtN2d0Y1FFR1FyTzcyTEk3YmtmWUFWeDZOZkJ5ME5UNmUxTVVrT0hUaFVPY000bXNJaHY1a0JoY29MN3J4MFVkbkJTdHZ4Q01wdFYiLCJleHAiOiAxNjU5MjgxMjAwLCJpYXQiOiAxNjU5MjgwNjAwfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r\_wW1gFWFOEjXk

※1　【必須】　　：「◎」・・・　パラメータまたはオブジェクトが必ず出現する。　「」（空白）・・・パラメータまたはオブジェクトが出現しない場合がある。

ヘッダ (JSON)

| 項番 | パラメータ名 | 項目名 | 項目説明 | 記述例 | 必須※1 | データ型 | 文字種 | データ長 / 桁数 | 検索方法 | 備考 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | alg | アルゴリズム | 署名のアルゴリズム | "alg": "HS256" | ◎ | 文字列 | 半角<br>英字<br>記号 | 5 |  | "HS256"固定 |

ペイロード (JSON)

| 項番 | パラメータ名 | 項目名 | 項目説明 | 記述例 | 必須※1 | データ型 | 文字種 | データ長 / 桁数 | 検索方法 | 備考 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | iss | 発行者 | クライアントアサーションJWTの発行者 | "iss": "JTAxK5JPI4kmD63U4wautrSvaHj3WbBQ" | ◎ | 文字列 | 半角<br>英数字<br>記号 | 32 |  | 要求元システムのクライアントIDを指定（32文字） |
| 2 | sub | 主体 | クライアントアサーションJWTの主体 | "sub": "JTAxK5JPI4kmD63U4wautrSvaHj3WbBQ" | ◎ | 文字列 | 半角<br>英数字<br>記号 | 32 |  | 要求元システムのクライアントIDを指定<br>（32文字） |
| 3 | aud | 対象者 | クライアントアサーションJWTの発行対象者 | "aud": "https://server.example.com/oauth/v1/token" | ◎ | 文字列 | 半角<br>英数字<br>記号 | - |  | 基本的には、認証認可サーバのURL(認証認可サーバのissuerの値)を含むものとする<br>ただし、認証認可サーバを示す識別子の範疇を超えない限り（トークンエンドポイント等）、認証認可サーバ側の判断による変更も可能とする。変更する場合は、RP側に必ずその旨を伝えること。 |
| 4 | jti | JWT ID | JWTのID | "jti": "KJmqpyT0Q2DhylAPnyxOeJEwvvsdhLE7kY87hepM23hgRMIWRvFURm7gtcQEGQrO72LI7bkfYAVx6NfBy0NT6e1MUkOHThUOcM4msIhv5kBhcoL7rx0UdnBStvxCMptV" | ◎ | 文字列 | 半角<br>英数字<br>記号 | - |  | 発行者が発行したJWTを一意に識別するためのID<br>データの桁数は、一意に識別するために十分なエントロピーが確保可能な桁数を指定 |
| 5 | exp | 有効期限 | クライアントアサーションJWTの有効期限 | "exp": 1659281200 | ◎ | 数値 | 半角<br>数字 | 10 |  | 発行されたクライアントアサーションJWTの有効期限のUNIX時間 |
| 6 | iat | 発行時刻 | クライアントアサーションJWTの発行時刻 | "iat": 1659280600 | ◎ | 数値 | 半角<br>数字 | 10 |  | 発行されたクライアントアサーションJWTの発行時刻のUNIX時間 |


## レスポンス\_API仕様

API仕様書 仕様名 "

OAuth2.0アクセストークン発行API仕様

レスポンスID oauth/v1/token\_S01

| 項番 | レベル | レスポンスオブジェクト名 / 階層 | レスポンスオブジェクト名 / 階層 | 項目名 | 項目説明 | 記述例 | 必須※1 | null設定有無※2 | データ型 | 文字種 | データ長 / 桁数 | 備考 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ■正常系（HTTPステータスコード：200、JSON形式でのレスポンス） |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | 1 | レスポンスオブジェクト |  |  |  | { | ◎ | - | 構造化 | - | - |  |
| 2 | 2 |  | access\_token | アクセストークン | アクセストークンの文字列 | "access\_token": "Kz~8mXK1EalYznwH-LC-1fBAo.4Ljp~zsPE\_NeO.gxiaQU", | ◎ | - | 文字列 | 半角<br>英数字記号 | - | データ長の桁数は、発行するアクセストークンの文字列長を指定 |
| 3 | 2 |  | token\_type | トークンタイプ | アクセストークンの種別 | "token\_type": "Bearer", | ◎ | - | 文字列 | 半角<br>英字 | 6 | "Bearer"固定 |
| 4 | 2 |  | expires\_in | 有効期間 | アクセストークンの有効期間 | "expires\_in": 600, | ◎ | - | 数値 | - | - | 単位は秒 |
| 5 | 2 |  | scope | スコープ | アクセストークンに紐付くスコープの一覧 | "scope": "031:app\_submit/v1/jutogaishaatenakih<br>    onjohosyokai:Read" | ◎ | - | 文字列 | 半角<br>英数字記号 | - | 発行したトークンに紐付いているスコープ |
| 6 |  |  |  |  |  | } | ◎ | - | 構造化 | - | - |  |
| ■正常系エラー（HTTPステータスコード：400 or 401、JSON形式でのレスポンス） |  |  |  |  |  |  |  |  |  |  |  |  |
| 1 | 1 | レスポンスオブジェクト |  |  |  | { | ◎ | - | 構造化 | - | - |  |
| 2 | 2 |  | error | エラーコード | エラーコード | "error": "invalid\_request", | ◎ | - | 文字列 | 半角<br>英数字記号 | - |  |
| 3 | 2 |  | error\_description | エラーメッセージ | エラーの内容 | "error\_description": "必須パラメータがありません。" | ◎ | - | 文字列 | 全角<br>半角<br>英字 | - |  |
| 4 |  |  |  |  |  | } | ◎ | - | 構造化 | - | - |  |
| ■異常系（HTTPステータスコード：503、JSON形式でのレスポンス(ただし、30秒以上タイムアウトエラー、サービスメンテナンス中は、原則HTTPステータスコード500番台のエラーが返却され、JSON形式では返却されない)) |  |  |  |  |  |  |  |  |  |  |  |  |
| ー | ー | ボディなし |  |  |  |  | - | - | - | - | - |  |

エラーコード一覧

| 項番 | エラーコード | エラーの内容 | HTTPステータスコード | 備考 |
|---|---|---|---|---|
| 1 | invalid\_request | 必須のパラメータが設定されていない、パラメータのフォーマットが異なる、などのパラメータエラー。 | 400 |  |
| 2 | invalid\_client | 未登録のクライアントからのリクエスト、クライアントアサーションJWTが存在しない、クライアントアサーションJWTの検証が失敗するなどの場合。 | 401 |  |
| 3 | unauthorized\_client | 登録はされているが、利用を許可されていないリクエスト元からのアクセスの場合。 | 401 |  |
| 4 | unsupported\_grant\_type | grant\_type に client\_credentiald 以外が指定されていた場合。 | 400 |  |
| 5 | invalid\_scope | 指定されたScopeに解釈できるものが存在しない場合など。 | 400 |  |
