このページでは、OpenID Connect プロバイダとしての Google の実装について説明し、Google の OIDC エンドポイントの技術リファレンスを提供します。OpenID Connect(OIDC)Core 1.0 仕様では、ユーザーの認証と ID 情報の取得のためのプロトコルを定義しています。
このリファレンスは、OIDC の実装方法に関する手順を説明することを目的としていません。実装の詳細については、OpenID Connect ガイドをご覧ください。
ディスカバリ ドキュメント
ディスカバリ ドキュメントには、OpenID Connect Discovery 1.0 仕様で定義されている Google の OpenID Connect 構成に関するメタデータが含まれています。
URL: https://accounts.google.com/.well-known/openid-configuration
サポートされているリクエスト メソッド: GET
レスポンスの本文
レスポンス フィールドは、リクエスト元が https://accounts.google.com/.well-known/openid-configuration に送信した GET リクエストに対する HTTP レスポンスの本文で JSON オブジェクトとして返されます。
| フィールド | タイプ | 説明 |
|---|---|---|
issuer |
string |
カード発行会社 ID。https スキームを使用する大文字と小文字が区別される URL。最新の値は https://accounts.google.com ですが、以前の実装では accounts.google.com も返されます。 |
authorization_endpoint |
string |
認可エンドポイントの URL。 |
device_authorization_endpoint |
string |
デバイス認証エンドポイントの URL。 |
token_endpoint |
string |
トークン エンドポイントの URL。 |
userinfo_endpoint |
string |
UserInfo エンドポイントの URL。 |
revocation_endpoint |
string |
取り消しエンドポイントの URL。 |
jwks_uri |
string |
JSON Web Key Set(JWKS)ドキュメントの URL。 |
response_types_supported |
array |
サポートされている response_type 値のリスト。 |
response_modes_supported |
array |
サポートされている response_mode 値のリスト。 |
authorization_response_iss_parameter_supported |
boolean |
RFC 9207 のサポートを示すブール値。 |
subject_types_supported |
array |
サポートされているサブジェクト識別子タイプのリスト。 |
id_token_signing_alg_values_supported |
array |
ID トークンの署名に使用できるアルゴリズムのリスト。 |
scopes_supported |
array |
サポートされているスコープ値のリスト。 |
claims_supported |
array |
サポートされているクレームのリスト。 |
token_endpoint_auth_methods_supported |
array |
トークン エンドポイントでサポートされている認証方法のリスト。 |
code_challenge_methods_supported |
array |
PKCE でサポートされているコード チャレンジ メソッドのリスト。 |
grant_types_supported |
array |
サポートされている OAuth 2.0 権限付与タイプのリスト。 |
ID トークン(クレーム)
レスポンスで返される id_token 値は、署名付き JSON ウェブトークン(JWT)です。この値は、ディスカバリ ドキュメントの jwks_uri から取得したキーマテリアルを使用して検証する必要があります。次の表に、デコードされた ID トークンのペイロードの内容を示します。
| 申し立て | タイプ | 説明 |
|---|---|---|
iss |
string |
必須。レスポンス発行者の発行者 ID。通常は https://accounts.google.com ですが、以前の実装では accounts.google.com も返されます。 |
sub |
string |
必須。ユーザーの ID。すべての Google アカウントに固有で、決して再利用されません。1 つの Google アカウントに異なる時点で複数のメールアドレスを設定できますが、sub 値は変更されません。アプリケーション内で sub をユーザーの一意の ID キーとして使用します。最大長は 255 文字(大文字と小文字が区別される ASCII 文字)です。 |
azp |
string |
Google Cloud コンソールから取得した、承認済みプレゼンターのクライアント識別子。このクレームは、ID トークンをリクエストしている当事者が ID トークンのオーディエンスと同じでない場合にのみ必要になります。 |
aud |
string |
必須。ID トークンの対象となるオーディエンス。これは、Google Cloud コンソールから取得したアプリケーションのクライアント ID です。 |
iat |
integer |
必須。ID トークンが発行された時刻。Unix エポック時間(整数秒)で表されます。 |
exp |
integer |
必須。ID トークンを受け入れてはならない有効期限。Unix エポック時間(整数秒)で表されます。 |
nonce |
string |
認証リクエストでアプリが提供した nonce の値。この値を 1 回だけ提示することで、リプレイ攻撃から保護する必要があります。 |
auth_time |
integer |
ユーザー認証が行われた時刻。Unix エポック(1970 年 1 月 1 日 00:00:00 UTC)からの経過秒数を表す JSON 数値。認証リクエストの claims パラメータに auth_time クレームが含まれている場合に提供されます。 |
at_hash |
string |
アクセス トークン ハッシュ。アクセス トークンが ID トークンに関連付けられていることを検証します。サーバーフローで access_token 値を使用して ID トークンが発行された場合、このクレームは常に含まれます。 |
email |
string |
ユーザーのメールアドレス。リクエストに email スコープを含めた場合にのみ提供されます。このクレームの値は、このアカウントに固有のものではなく、時間の経過とともに変化する可能性があるため、この値をユーザー レコードにリンクするプライマリ ID として使用しないでください。また、email クレームのドメインを使用して Google Workspace または Cloud 組織のユーザーを識別することもできません。代わりに hd クレームを使用してください。警告: Google アカウントには複数のメールアドレスを設定できるため、メールアドレスを ID として使用しないでください。常に sub フィールドをユーザーの識別子として使用します。 |
email_verified |
boolean |
ユーザーのメールアドレスが確認済みの場合は true。それ以外の場合は false です。 |
name |
string |
表示可能な形式でのユーザーの氏名。リクエスト スコープに文字列 profile が含まれている場合、またはトークン更新から ID トークンが返された場合に提供されることがあります。 |
picture |
string |
ユーザーのプロフィール写真の URL。リクエスト スコープに文字列 profile が含まれている場合、またはトークン更新から ID トークンが返された場合に提供されることがあります。 |
given_name |
string |
ユーザーの名(ファースト ネーム)。name クレームが存在する場合に提供されることがあります。 |
family_name |
string |
ユーザーの姓。name クレームが存在する場合に提供されることがあります。 |
hd |
string |
ユーザーの Google Workspace または Cloud 組織に関連付けられているドメイン。ユーザーが Google Cloud 組織に属している場合にのみ提供されます。特定ドメインのメンバーのみにリソースへのアクセスを制限する場合は、このクレームを確認する必要があります。このクレームがない場合、アカウントが Google 所有ドメインに属していないことを示します。 |
承認エンドポイント
認可エンドポイントは、ユーザーの認証と認可コードまたはトークンの取得に使用されます。
URL: https://accounts.google.com/o/oauth2/v2/auth
サポートされているリクエスト メソッド: GET、POST
リクエスト パラメータ
| パラメータ | タイプ | 必須 / 省略可 | 説明 |
|---|---|---|---|
client_id |
string |
必須 | Google Cloud コンソールから取得したクライアント ID 文字列。 |
nonce |
string |
省略可 | リプレイ保護を有効にするためにアプリによって生成されるランダムな値。ID トークンをリクエストする場合(response_type に id_token が含まれている場合)にのみ必須。 |
response_type |
string |
必須 | 使用するフローを決定します。値が code の場合、認可コードフローが開始され、トークンを取得するためにトークン エンドポイントへの POST が必要になります。値が token、id_token、token id_token、または id_token token の場合、暗黙的フローが開始されます。この場合、リダイレクト URI で JavaScript を使用して URI フラグメントからトークンを取得する必要があります。token を使用すると URL にアクセス トークンが公開されるため、どのような形式であっても使用することは強く推奨されません。この値は OAuth 2.1 では禁止されています。 |
response_mode |
string |
省略可 | 認可レスポンスの配信方法を指定します。response_type が code の場合、デフォルトは query です。他のレスポンス タイプの場合、デフォルトは fragment です。サポートされる値: query、fragment、form_post。 |
redirect_uri |
string |
必須 | レスポンスの送信先を決定します。このパラメータの値は、Google Cloud コンソールで設定した承認済みリダイレクト値のいずれかと完全に一致する必要があります(HTTP または HTTPS スキーム、大文字と小文字、末尾の「/」など)。リダイレクト URI と承認済みの JavaScript 生成元は、OAuth 2.0 URI 検証ドキュメントに記載されている検証ルールに準拠している必要があります。 |
scope |
string |
必須 | スペース区切りのスコープの順序なしリスト。リストには openid 値を含め、その後に profile 値、email 値、またはその両方を含める必要があります。OIDC 以外のスコープを含めることもできます。profile スコープ値が存在する場合、ID トークンにはユーザーのデフォルトの profile クレームが含まれる可能性があります(保証されるわけではありません)。email スコープ値が存在する場合、ID トークンには email クレームと email_verified クレームが含まれます。詳細については、OAuth 2.0 スコープをご覧ください。 |
state |
string |
推奨 | プロトコルで往復される不透明な文字列。つまり、認可コードフローでは URI パラメータとして、暗黙的フローでは URI フラグメントとして返されます。state は、リクエストとレスポンスを関連付ける場合に便利です。redirect_uri は推測される可能性があるため、state 値を使用すると、受信接続がアプリによって開始された認証リクエストの結果であるという確実性を高めることができます。これにより、クロスサイト リクエスト フォージェリなどの攻撃から保護されます。 |
access_type |
string |
省略可 | 指定できる値は offline と online です。ユーザーがブラウザにいないときにアクセス トークンを更新する必要がある場合は、offline を使用します。この値は、更新トークンを返すために必要です。 |
hd |
string |
省略可 | Google Cloud 組織が所有するアカウントのログイン プロセスを効率化します。Google Cloud 組織のドメイン(mycollege.edu など)を含めることで、アカウント選択 UI をそのドメインのアカウント向けに最適化する必要があることを示すことができます。1 つの Google Cloud 組織ドメインだけでなく、Google Cloud 組織アカウント全般を最適化するには、アスタリスク(*)の値(hd=*)を設定します。 |
login_hint |
string |
省略可 | アプリが認証しようとしているユーザーを把握している場合は、このパラメータを認証サーバーへのヒントとして提供できます。このヒントを渡すと、アカウント選択ツールが抑制され、ログイン フォームのメールボックスが事前入力されるか、適切なセッションが選択されます。これにより、アプリが誤ったユーザー アカウントにログインした場合に発生する問題を回避できます。値は、メールアドレスまたは sub 文字列(ユーザーの Google ID と同等)のいずれかです。 |
prompt |
string |
省略可 | 認可サーバーがユーザーに再認証と同意を求めるかどうかを指定する文字列値のスペース区切りリスト。有効な値: none(UI なし)、consent(同意を求める)、select_account(アカウントの選択を求める)。 |
hl |
string |
省略可 | ログイン画面、アカウント選択画面、同意画面の表示言語を指定するために使用される BCP 47 言語タグ。ブラウザ設定と Google アカウントの設定は通常、ユーザーの言語設定をより正確に反映するため、このパラメータの使用は推奨されません。 |
include_granted_scopes |
boolean |
省略可 | このパラメータに値 true が指定され、認可リクエストが承認された場合、認可には、他のスコープに対してこのユーザー/アプリケーションの組み合わせに付与された以前の認可が含まれます。増分認可をご覧ください。 |
claims |
object |
省略可 | claims パラメータは、UserInfo レスポンスまたは ID トークンに含める 1 つ以上の省略可能なフィールドを指定するために使用されます。auth_time クレームをリクエストするには、claims={\"id_token\":{\"auth_time\":{\"essential\":true}}} を使用します。 |
レスポンス パラメータ
認可レスポンスは、HTTP GET リダイレクトを使用して、クライアントのリダイレクト URI(redirect_uri)に配信されます。レスポンス パラメータは、response_type と response_mode に応じて、クエリ文字列または URL フラグメントのリダイレクト URI に追加されます。
| パラメータ | 型 | 説明 |
|---|---|---|
iss |
string |
発行者の識別子。RFC 9207 に基づき、このパラメータは常に返され、https://accounts.google.com に設定されます。 |
code |
string |
アクセス トークンと ID トークンと交換できる認証コード。 |
state |
string |
リクエストの state パラメータと同じ値。 |
id_token |
string |
ユーザーに関する ID 情報を含む JSON ウェブトークン(JWT)。 |
access_token |
string |
Google API に送信できるアクセス トークン。 |
token_type |
string |
返されるトークンのタイプ。常に Bearer です。 |
expires_in |
integer |
トークンが発行された時刻を基準としたアクセス トークンの有効期間(秒単位)。 |
scope |
string |
code または access_token によって付与されたアクセス権のスコープ。スペース区切りの大文字と小文字が区別される文字列のリストとして表されます。 |
error |
string |
リクエストが失敗した場合のエラーコード。 |
error_description |
string |
リクエストが失敗した場合のエラーの説明。 |
エラー レスポンス
認可エンドポイントの場合、エラーはクライアントの redirect_uri にクエリ文字列または URL フラグメントのパラメータとして返されるか、Google がホストするエラーページとしてユーザーに表示されます。
リダイレクトされたエラー
次のエラーコードが redirect_uri に返されることがあります。
| エラー | 説明 |
|---|---|
access_denied |
ユーザーまたは認可サーバーがリクエストを拒否しました。 |
invalid_request |
リクエストに必須パラメータが含まれていない、無効なパラメータ値が含まれている、パラメータが複数回含まれている、または形式が正しくない。 |
unauthorized_client |
クライアントには、このメソッドを使用して認可コードをリクエストする権限がありません。 |
unsupported_response_type |
このメソッドを使用した認可コードの取得は、認可サーバーでサポートされていません。 |
invalid_scope |
リクエストされたスコープが無効であるか、不明であるか、形式が正しくありません。 |
ユーザー向けのエラー
client_id または redirect_uri が無効な場合など、Authorization Server がユーザーを安全にアプリケーションにリダイレクトできないことがあります。このような場合、エラーページがユーザーに直接表示されます。
| エラー | 説明 |
|---|---|
admin_policy_enforced |
Google Workspace 管理者のポリシーにより、リクエストされた 1 つ以上のスコープを Google アカウントで承認できません。管理者が OAuth クライアント ID に明示的にアクセス権を付与するまでアクセスを制限する方法について詳しくは、Google Workspace 管理者用ヘルプ記事をご覧ください。 |
disallowed_useragent |
認可エンドポイントは、Google の OAuth 2.0 ポリシーで禁止されている埋め込みユーザー エージェント内に表示されます。 |
org_internal |
リクエストの OAuth クライアント識別子は、特定の Google Cloud 組織の Google アカウントへのアクセスを制限するプロジェクトの一部です。 |
deleted_client |
リクエストの作成に使用されている OAuth クライアントが削除されました。削除は、手動で行うことも、未使用のクライアントの場合は自動で行うこともできます。 |
invalid_grant |
PKCE を使用しているときに、code_challenge パラメータが無効であるか、指定されていません。アクセス トークンを更新するときや増分認証を使用するときに、トークンの有効期限が切れている、トークンが無効になっている、ユーザー アカウントが削除または無効になっている可能性があります。 |
redirect_uri_mismatch |
リクエストで渡された redirect_uri が、クライアント ID の承認済みリダイレクト URI と一致しません。Google Cloud コンソールで承認済みのリダイレクト URI を確認します。このエラーは、リクエストで非推奨の OAuth アウトオブバンド(OOB)フローが使用されている場合にも発生することがあります。 |
invalid_client |
リクエストが送信されたオリジンがこのクライアントに対して承認されていない、クライアント構成が正しくない、または OAuth クライアント シークレットが正しくありません。 |
origin_mismatch |
承認リクエストを送信した JavaScript のスキーム、ドメイン、ポートのいずれかが、OAuth クライアント ID に登録されている承認済み JavaScript 生成元 URI と一致しません。Google Cloud コンソールで承認済みの JavaScript オリジンを確認します。 |
invalid_request |
リクエストに問題がありました。リクエストの形式が正しくない、必要なパラメータが欠落している、Google がサポートしていない認証方法を使用しているなどの原因が考えられます。 |
トークン エンドポイント
トークン エンドポイントは、認証コードをアクセス トークンと ID トークンに交換するために使用されます。
URL: https://oauth2.googleapis.com/token
サポートされているリクエスト メソッド: POST
リクエスト パラメータ(認証コード付与)
| パラメータ | タイプ | 必須 / 省略可 | 説明 |
|---|---|---|---|
code |
string |
必須 | 認可エンドポイントから受信した認可コード。 |
client_id |
string |
必須 | Google Cloud コンソールから取得したアプリケーションのクライアント識別子。 |
client_secret |
string |
必須 | Google Cloud コンソールから取得したアプリケーションのクライアント シークレット。 |
redirect_uri |
string |
必須 | 最初のリダイレクト リクエストで使用されるリダイレクト URI。リダイレクト URI と承認済みの JavaScript 生成元は、OAuth 2.0 URI 検証ドキュメントに記載されている検証ルールに準拠している必要があります。 |
grant_type |
string |
必須 | 値として「authorization_code」を設定してください。 |
リクエスト パラメータ(デバイスフロー)
| パラメータ | タイプ | 必須 / 省略可 | 説明 |
|---|---|---|---|
client_id |
string |
必須 | Google Cloud コンソールから取得したアプリケーションのクライアント識別子。 |
client_secret |
string |
必須 | Google Cloud コンソールから取得したアプリケーションのクライアント シークレット。 |
device_code |
string |
必須 | デバイス認証エンドポイントから返される device_code。 |
grant_type |
string |
必須 | 値として「urn:ietf:params:oauth:grant-type:device_code」を設定してください。 |
リクエスト パラメータ(アクセス トークンの更新)
| パラメータ | タイプ | 必須 / 省略可 | 説明 |
|---|---|---|---|
client_id |
string |
必須 | Google Cloud コンソールから取得したアプリケーションのクライアント識別子。 |
client_secret |
string |
必須 | Google Cloud コンソールから取得したアプリケーションのクライアント シークレット。 |
grant_type |
string |
必須 | OpenID Connect 更新トークン仕様で定義されているとおり、refresh_token に設定する必要があります。 |
refresh_token |
string |
必須 | 認証コードの交換から返された更新トークン。 |
scope |
string |
省略可 | 新しいアクセス トークンにリクエストされたスコープのスペース区切りリスト。リクエストされたスコープは、元の認可リクエストで付与されたスコープのサブセットである必要があります。 |
レスポンスの本文
レスポンス フィールドは、リクエスト元が https://oauth2.googleapis.com/token に送信した POST リクエストに対する HTTP レスポンスの本文で JSON オブジェクトとして返されます。
| フィールド | タイプ | 説明 |
|---|---|---|
access_token |
string |
Google API に送信できるアクセス トークン。 |
expires_in |
integer |
トークンが発行された時刻を基準としたアクセス トークンの有効期間(秒単位)。 |
id_token |
string |
ユーザーに関する ID 情報を含む JSON ウェブトークン(JWT)。このトークンは、最初の認証コード交換時に返されます。また、openid スコープが付与されている場合は、更新トークン リクエスト時に返されることもあります。 |
scope |
string |
access_token によって付与されたアクセス権のスコープ。スペース区切りの大文字と小文字が区別される文字列のリストとして表されます。 |
token_type |
string |
返されるトークンのタイプ。常に Bearer です。 |
refresh_token |
string |
(省略可)新しいアクセス トークンの取得に使用できるトークン。このフィールドは、access_type=offline がリクエストされた場合にのみ、認可コードの最初の交換で返されます。 |
refresh_token_expires_in |
integer |
(省略可)リフレッシュ トークンの残りの有効期間(秒単位)。この値は、ユーザーが時間ベースのアクセスを許可した場合にのみ設定されます。 |
エラー レスポンス
リクエストが失敗した場合、認可サーバーは次のフィールドを含む JSON オブジェクトを返します。
| フィールド | タイプ | 説明 |
|---|---|---|
error |
string |
エラーコード。 |
error_description |
string |
リクエストが失敗した場合のエラーの説明。 |
次の表に、考えられるエラーコードと関連する HTTP ステータス コードを示します。
| エラー | HTTP ステータス コード | 説明 |
|---|---|---|
invalid_request |
400 |
リクエストに必須パラメータが含まれていないか、無効なパラメータ値が含まれているか、形式が正しくありません。 |
invalid_client |
401 |
クライアント認証に失敗しました。たとえば、client_id や client_secret が無効であるか、クライアント タイプが正しくありません。 |
invalid_grant |
400 |
指定された認証コード、更新トークン、デバイスコードが無効である、期限切れである、取り消されている、または認証リクエストで使用されたリダイレクト URI と一致しない。 |
unauthorized_client |
400 |
認証済みのクライアントには、この認可付与タイプを使用する権限がありません。 |
unsupported_grant_type |
400 |
認可グラントタイプが認可サーバーでサポートされていません。 |
invalid_scope |
400 |
リクエストされたスコープが無効であるか、不明であるか、形式が正しくありません。 |
authorization_pending |
428 |
(デバイスフロー)ユーザーがまだ認証フローを完了していない。 |
slow_down |
429 |
(デバイスフロー)デバイスからポーリング リクエストが送信される頻度が高すぎます。 |
access_denied |
403 |
(デバイスフロー)ユーザーがデバイスへのアクセスを拒否しました。 |
expired_token |
400 |
(デバイスフロー)device_code の有効期限が切れています。 |
admin_policy_enforced |
400 |
Google Workspace 管理者によって適用されたポリシーにより、ユーザーはリクエストされたスコープを承認できません。 |
org_internal |
403 |
クライアント ID は、特定の Google Cloud 組織へのアクセスを制限するプロジェクトの一部です。 |
デバイス認証エンドポイント
デバイス認可エンドポイントは、OAuth 2.0 デバイスフローで、入力機能が制限されているデバイスのユーザーコードと確認 URL を取得するために使用されます。
URL: https://oauth2.googleapis.com/device/code
サポートされているリクエスト メソッド: POST
リクエスト パラメータ
| パラメータ | タイプ | 必須 / 省略可 | 説明 |
|---|---|---|---|
client_id |
string |
必須 | Google Cloud コンソールから取得したアプリケーションのクライアント識別子。 |
scope |
string |
必須 | アプリケーションがユーザーの代わりにアクセスできるリソースを特定するスコープのスペース区切りのリストです。 |
レスポンスの本文
レスポンスは、次のフィールドを含む JSON オブジェクトです。
| フィールド | タイプ | 説明 |
|---|---|---|
device_code |
string |
認証をリクエストするアプリを実行しているデバイスを識別するために Google が一意に割り当てる値。 |
user_code |
string |
アプリケーションがアクセスをリクエストしているスコープを Google に識別する、大文字と小文字が区別される値。ユーザー インターフェースでは、入力機能が豊富な別のデバイスでこの値を入力するようユーザーに指示します。 |
verification_url |
string |
ユーザーが別のデバイスで移動して user_code を入力し、アプリへのアクセスを許可または拒否する必要がある URL。 |
expires_in |
integer |
device_code と user_code の有効期間(秒数)。 |
interval |
integer |
デバイスがポーリング リクエストの間で待機する時間(秒単位)。 |
失効エンドポイント
取り消しエンドポイントを使用すると、アプリケーションでアクセス トークンまたは更新トークンを取り消すことができます。
URL: https://oauth2.googleapis.com/revoke
サポートされているリクエスト メソッド: POST
リクエスト パラメータ
| パラメータ | タイプ | 必須 / 省略可 | 説明 |
|---|---|---|---|
token |
string |
必須 | 取り消すアクセス トークンまたは更新トークン。 |
レスポンスの本文
取り消しが成功すると、レスポンスは空の HTTP 200 OK になります。取り消しに失敗すると、JSON オブジェクトでエラー レスポンスが返されます。
| フィールド | タイプ | 説明 |
|---|---|---|
error |
string |
リクエストが失敗した場合のエラーコード。 |
error_description |
string |
リクエストが失敗した場合のエラーの説明。 |
次の表に、考えられるエラーコードを示します。
| エラー | 説明 |
|---|---|
invalid_token |
リクエストで指定されたトークンはすでに期限切れか、すでに失効しています。 |
invalid_request |
リクエストに必須パラメータが含まれていないか、無効なパラメータ値が含まれているか、形式が正しくありません。 |
UserInfo エンドポイント
UserInfo エンドポイントは、認証されたユーザーのプロフィール情報を返します。
URL: https://openidconnect.googleapis.com/v1/userinfo
サポートされているリクエスト メソッド: GET、POST
リクエスト ヘッダー
| ヘッダー | 説明 |
|---|---|
Authorization |
必須。Bearer: access_token に設定します。 |
レスポンスの本文
レスポンス フィールドは、リクエスト元が https://openidconnect.googleapis.com/v1/userinfo に送信した GET リクエストまたは POST リクエストに対する HTTP レスポンスの本文にある JSON オブジェクトで返されます。
| フィールド | タイプ | 説明 |
|---|---|---|
sub |
string |
必須。ユーザーの ID。すべての Google アカウントに固有で、決して再利用されません。大文字と小文字が区別される 255 文字以内の文字列。 |
name |
string |
表示可能な形式でのユーザーの氏名。 |
given_name |
string |
ユーザーの名(ファースト ネーム)。 |
family_name |
string |
ユーザーの姓。 |
picture |
string |
ユーザーのプロフィール写真の URL。 |
email |
string |
ユーザーのメール アドレスです。 |
email_verified |
boolean |
ユーザーのメールアドレスが確認済みかどうか。 |
hd |
string |
ユーザーの Google Workspace または Cloud 組織に関連付けられている所有ドメイン。 |
Tokeninfo エンドポイント
tokeninfo エンドポイントは、デバッグ目的で ID トークンを検証するために使用される Google 固有の実装です。
URL: https://oauth2.googleapis.com/tokeninfo
サポートされているリクエスト メソッド: GET、POST
リクエスト パラメータ
| パラメータ | タイプ | 必須 / 省略可 | 説明 |
|---|---|---|---|
id_token |
string |
必須 | 検証する ID トークン。 |
レスポンスの本文
レスポンス フィールドは、リクエスト元が https://oauth2.googleapis.com/tokeninfo に送信した GET リクエストまたは POST リクエストに対する HTTP レスポンスの本文にある JSON オブジェクトで返されます。
| フィールド | タイプ | 説明 |
|---|---|---|
iss |
string |
発行者の識別子。常に https://accounts.google.com です。 |
sub |
string |
ユーザーの ID。すべての Google アカウントに固有で、決して再利用されません。 |
aud |
string |
ID トークンの対象となるオーディエンス。これは、Google Cloud コンソールから取得したアプリケーションのクライアント ID です。 |
iat |
integer |
JWT が発行された時刻。UTC で測定された 1970-01-01T0:0:0Z からの秒数として表されます。 |
exp |
integer |
ID トークンの処理が許可されない有効期限。UTC で測定された 1970-01-01T0:0:0Z からの秒数として表されます。 |
email |
string |
ユーザーのメール アドレスです。 |
email_verified |
string |
ユーザーのメールアドレスが確認済みかどうか。値は文字列 "true" または "false" です。 |
access_type |
string |
元の認可リクエストでリクエストされたアクセスタイプ。 |
azp |
string |
Google Cloud コンソールから取得した、承認済みプレゼンターのクライアント識別子。 |
scope |
string |
トークンに付与されたスコープのスペース区切りリスト。 |
alg |
string |
ID トークンの署名に使用されるアルゴリズム。 |
kid |
string |
ID トークンの署名に使用される鍵 ID。 |
typ |
string |
トークンのタイプ。常に JWT です。 |