このリファレンスでは、Google 3P Authorization JavaScript Library API、 これを使用して、Google から認証コードやアクセス トークンを読み込むことができます。
メソッド: google.accounts.oauth2.initCodeClient
initCodeClient
メソッドは、コード クライアントを初期化して返します。
パラメータで構成を設定します。
google.accounts.oauth2.initCodeClient(config: CodeClientConfig)
データ型: CodeClientConfig
次の表に、CodeClientConfig
データ型のプロパティを示します。
プロパティ | |
---|---|
client_id
|
必須。アプリケーションのクライアント ID。この値は API Console で確認できます。 |
scope
|
必須。アプリケーションがユーザーの代わりにアクセスできるリソースを特定するスコープのスペース区切りのリストです。これらの値は、Google がユーザーに表示する同意画面を通知します。 |
include_granted_scopes |
省略可。デフォルトは true です。アプリケーションで増分
追加のスコープへのアクセスをリクエストするためのコンテキストです。次の値を設定した場合:
このパラメータの値を false に設定し、承認リクエストを許可すると、
新しいアクセス トークンは、scope がリクエストしたスコープのみに適用されます。
(このCodeClientConfig )
|
redirect_uri
|
リダイレクトの UX では必須です。ユーザーが承認フローを完了した後の API サーバーがユーザーをリダイレクトする場所を指定します。この値は、OAuth 2.0 クライアントで承認されたリダイレクト URI のいずれかと完全に一致する必要があります。この URI は API Console で構成し、リダイレクト URI の検証ルールに準拠している必要があります。このプロパティは、ポップアップの UX では無視されます。 |
callback |
ポップアップ UX では必須です。返されたコードのレスポンスを処理する JavaScript 関数。 このプロパティはリダイレクトの UX で無視されます。 |
state |
省略可。リダイレクトの UX におすすめです。認可リクエストと認可サーバーのレスポンスの間で状態を維持するために、アプリケーションが使用する文字列値を指定します。 |
enable_granular_consent |
省略可。デフォルトは true です。false に設定した場合、Google アカウント権限の細分化
2019 年より前に作成された OAuth クライアント ID では無効になります。enable_granular_consent と enable_serial_consent の両方を設定した場合は、enable_granular_consent のみ
値が有効になり、enable_serial_consent 値は無視されます。新しい OAuth クライアント ID では、よりきめ細かい権限が常に有効になるため、影響はありません。 |
enable_serial_consent |
非推奨。代わりに enable_granular_consent を使用してください。この
enable_granular_consent と同じ効果があります。既存のアプリケーション
enable_serial_consent を使用するインスタンスは引き続き使用できますが、
enable_granular_consent を使用するようにコードを更新することを
おすすめします。
|
login_hint |
省略可。どのユーザーがリクエストを承認するべきかがわかっている場合は、このプロパティを使用して Google にログインのヒントを提供できます。成功すると、アカウントの選択はスキップされます。ターゲット ユーザーのメールアドレスまたは ID トークンの sub フィールドの値。
詳細については、OpenID Connect ドキュメントの login_hint フィールドをご覧ください。
|
hd |
省略可。アプリケーションがユーザーが属する Workspace ドメインを認識している場合は、この情報を使用して Google にヒントを提供します。成功すると、ユーザー アカウントは指定されたドメインに限定されるか、事前に選択された状態になります。
詳細については、OpenID Connect ドキュメントの hd フィールドをご覧ください。
|
ux_mode |
省略可。承認フローに使用する UX モード。デフォルトでは、同意フローがポップアップで開きます。有効な値は popup と redirect です。
|
select_account |
省略可。デフォルトは 'false' です。ユーザーにアカウントの選択を求めるブール値。 |
error_callback |
省略可。OAuth 以外のエラー(
ポップアップ ウィンドウを開けません。OAuth レスポンスが返される前に終了されるか、
返されます。
入力パラメータの「type」フィールドから、詳細な理由がわかります。
|
データ型: CodeClient
このクラスには requestCode というパブリック メソッドが 1 つだけあり、これが OAuth 2.0 コードの UX フロー。
interface CodeClient {
requestCode(): void;
}
データ型: CodeResponse
CodeResponse
JavaScript オブジェクトは、callback
メソッドに渡されます。
ポップアップの UX を変更します。リダイレクトの UX では、CodeResponse
は URL として渡されます。
あります。
次の表に、CodeResponse
データ型のプロパティを示します。
プロパティ | |
---|---|
code |
成功したトークン レスポンスの認証コード。 |
scope |
ユーザーが承認したスコープをスペースで区切ったリスト。 |
state |
アプリケーションが認可リクエストとレスポンスの間の状態を維持するために使用する文字列値。 |
error |
単一の ASCII エラーコード。 |
error_description |
追加情報を提供する人が読める ASCII テキスト。発生したエラーをクライアント デベロッパーが理解するうえで役立ちます。 |
error_uri |
エラーに関する情報を含む、人が読める形式のウェブページを識別する URI。エラーに関する追加情報をクライアント デベロッパーに提供するために使用されます。 |
メソッド: google.accounts.oauth2.initTokenClient
initTokenClient
メソッドは、トークン クライアントを初期化して返します。これには、
パラメータで構成を設定します。
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
データ型: TokenClientConfig
次の表に、TokenClientConfig
データ型のプロパティを示します。
プロパティ | |
---|---|
client_id |
必須。アプリケーションのクライアント ID。この値は API Console で確認できます。 |
callback |
必須。返されたトークン レスポンスを処理する JavaScript 関数。 |
scope |
必須。アプリケーションがユーザーの代わりにアクセスできるリソースを特定するスコープのスペース区切りのリストです。これらの値は、Google がユーザーに表示する同意画面を通知します。 |
include_granted_scopes |
省略可。デフォルトは true です。アプリケーションで増分
追加のスコープへのアクセスをリクエストするためのコンテキストです。次の値を設定した場合:
このパラメータの値を false に設定し、承認リクエストを許可すると、
新しいアクセス トークンは、scope がリクエストしたスコープのみに適用されます。
(このTokenClientConfig )
|
prompt |
省略可。デフォルトは 'select_account' です。スペースで区切られた
ユーザーに提示するプロンプトのリスト(大文字と小文字を区別します)。有効な値は次のとおりです。
<ph type="x-smartling-placeholder">
|
enable_granular_consent |
省略可。デフォルトは true です。false に設定した場合、Google アカウントの権限はより細かく設定されます
2019 年より前に作成された OAuth クライアント ID では無効になります。enable_granular_consent と enable_serial_consent の両方を設定した場合は、enable_granular_consent のみ
値が有効になり、enable_serial_consent 値は無視されます。新しい OAuth クライアント ID では、よりきめ細かい権限が常に有効になるため、影響はありません。 |
enable_serial_consent |
非推奨。代わりに enable_granular_consent を使用してください。この
enable_granular_consent と同じ効果があります。既存のアプリケーション
enable_serial_consent を使用するインスタンスは引き続き使用できますが、
enable_granular_consent を使用するようにコードを更新することを
おすすめします。
|
login_hint |
省略可。どのユーザーがリクエストを承認するべきかがわかっている場合は、このプロパティを使用して Google にログインのヒントを提供できます。成功すると、アカウントの選択はスキップされます。ターゲット ユーザーのメールアドレスまたは ID トークンの sub フィールドの値。
詳細については、OpenID Connect ドキュメントの login_hint フィールドをご覧ください。
|
hd |
省略可。アプリケーションがユーザーが属する Workspace ドメインを認識している場合は、この情報を使用して Google にヒントを提供します。成功すると、ユーザー アカウントは指定されたドメインに限定されるか、事前に選択された状態になります。
詳細については、OpenID Connect ドキュメントの hd フィールドをご覧ください。
|
state |
省略可。非推奨。認可リクエストと認可サーバーのレスポンスの間で状態を維持するために、アプリケーションが使用する文字列値を指定します。 |
error_callback |
省略可。OAuth 以外のエラー(
ポップアップ ウィンドウを開けません。OAuth レスポンスが返される前に終了されるか、
返されます。
入力パラメータの「type」フィールドから、詳細な理由がわかります。
|
データ型: TokenClient
このクラスにはrequestAccessToken
というパブリック メソッドが 1 つあり、
OAuth 2.0 トークンの UX フロー。
interface TokenClient {
requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
引数 | ||
---|---|---|
overrideConfig |
OverridableTokenClientConfig | 省略可。このメソッドでオーバーライドされる構成。 |
データ型: OverridableTokenClientConfig
次の表に、OverridableTokenClientConfig
のプロパティを示します。
あります。
プロパティ | |
---|---|
scope |
省略可。リソースを識別するスコープのスペース区切りリスト アプリケーションがユーザーに代わってアクセスできるリソースです。これらの値は Google がユーザーに表示する同意画面について通知します。 |
include_granted_scopes |
省略可。デフォルトは true です。アプリケーションで増分
追加のスコープへのアクセスをリクエストするためのコンテキストです。次の値を設定した場合:
このパラメータの値を false に設定し、承認リクエストを許可すると、
新しいアクセス トークンは、scope がリクエストしたスコープのみに適用されます。
(このOverridableTokenClientConfig )
|
prompt |
省略可。ユーザーに表示するプロンプトのリスト。スペースで区切られ、大文字と小文字が区別されます。 |
enable_granular_consent |
省略可。デフォルトは true です。false に設定した場合、Google アカウントの権限はより細かく設定されます
2019 年より前に作成された OAuth クライアント ID では無効になります。enable_granular_consent と enable_serial_consent の両方を設定した場合、enable_granular_consent のみ
値が有効になり、enable_serial_consent 値は無視されます。新しい OAuth クライアント ID では、よりきめ細かい権限が常に有効になるため、影響はありません。 |
enable_serial_consent |
非推奨。代わりに enable_granular_consent を使用してください。この
enable_granular_consent と同じ効果があります。既存のアプリケーション
enable_serial_consent を使用するインスタンスは引き続き使用できますが、
enable_granular_consent を使用するようにコードを更新することを
おすすめします。
|
login_hint |
省略可。どのユーザーがリクエストを承認するべきかがわかっている場合は、このプロパティを使用して Google にログインのヒントを提供できます。成功すると、アカウントの選択はスキップされます。ターゲット ユーザーのメールアドレスまたは ID トークンの sub フィールドの値。
詳細については、OpenID Connect ドキュメントの login_hint フィールドをご覧ください。
|
state |
省略可。非推奨。認可リクエストと認可サーバーのレスポンスの間で状態を維持するために、アプリケーションが使用する文字列値を指定します。 |
データ型: TokenResponse
TokenResponse
JavaScript オブジェクトが、コールバック メソッドの
ポップアップの UX を変更します。
次の表に、TokenResponse
データ型のプロパティを示します。
プロパティ | |
---|---|
access_token |
成功したトークン レスポンスのアクセス トークン。 |
expires_in |
アクセス トークンの存続期間(秒)。 |
hd |
ログイン ユーザーが所属するホスト型ドメイン。 |
prompt |
TokenClientConfig または OverridableTokenClientConfig で指定された値の可能なリストから使用されたプロンプト値。 |
token_type |
発行されたトークンのタイプ。 |
scope |
ユーザーが承認したスコープをスペースで区切ったリスト。 |
state |
アプリケーションが認可リクエストとレスポンスの間の状態を維持するために使用する文字列値。 |
error |
単一の ASCII エラーコード。 |
error_description |
追加情報を提供する人が読める ASCII テキスト。発生したエラーをクライアント デベロッパーが理解するうえで役立ちます。 |
error_uri |
エラーに関する情報を含む、人が読める形式のウェブページを識別する URI。エラーに関する追加情報をクライアント デベロッパーに提供するために使用されます。 |
メソッド: google.accounts.oauth2.hasGrantedAllScopes
指定されたスコープをすべてユーザーが付与したかどうかを確認します。
google.accounts.oauth2.hasGrantedAllScopes(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
引数 | ||
---|---|---|
tokenResponse |
TokenResponse
|
必須。TokenResponse
渡されます。
|
firstScope |
文字列 | 必須。確認するスコープ。 |
restScopes |
string[] | 省略可。確認するその他のスコープ。 |
戻り値 | |
---|---|
ブール値 | すべてのスコープが付与されている場合は true。 |
メソッド: google.accounts.oauth2.hasGrantedAnyScope
指定されたスコープをユーザーが付与したかどうかを確認します。
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
引数 | ||
---|---|---|
tokenResponse |
TokenResponse
|
必須。TokenResponse
渡されます。
|
firstScope |
文字列 | 必須。確認するスコープ。 |
restScopes |
string[] | 省略可。確認するその他のスコープ。 |
戻り値 | |
---|---|
ブール値 | いずれかのスコープが付与されている場合は true。 |
メソッド: google.accounts.oauth2.revoke
revoke
メソッドは、ユーザーがアプリに付与したすべてのスコープを取り消します。
権限を取り消すには、有効なアクセス トークンが必要です。
google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
引数 | ||
---|---|---|
accessToken |
文字列 | 必須。有効なアクセス トークン。 |
callback |
関数 | 省略可。RevocationResponse ハンドラ。 |
データ型: RevocationResponse
RevocationResponse
JavaScript オブジェクトがコールバック メソッドに渡されます。
次の表に、RevocationResponse
データ型のプロパティを示します。
プロパティ | |
---|---|
successful |
ブール値。成功した場合は true 、失敗した場合は false 。 |
error |
文字列。成功時には未定義。単一の ASCII エラーコード。これには、標準の OAuth
2.0 エラーコード。revoke メソッドの一般的なエラー:
<ph type="x-smartling-placeholder">
|
error_description |
文字列。成功時には未定義。人が読める形式の ASCII テキストにより、
error プロパティ。デベロッパーはこれを使用して、
確認できます。error_description 文字列は英語のみです。
error にリストされている一般的なエラーについて、対応する error_description を示します。
<ph type="x-smartling-placeholder">
|