このリファレンスでは、Google から認証コードまたはアクセス トークンを取得するために使用される Google アカウント認証 JavaScript API について説明します。
メソッド: 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に設定し、認可リクエストが承認された場合、新しいアクセス トークンは、このCodeClientConfigでリクエストされたscopeのスコープのみを対象とします。 | 
| 
        redirect_uri
         | リダイレクト UX に必要です。ユーザーが認可フローを完了した後に API サーバーがユーザーをリダイレクトする場所を指定します。この値は、API Console で構成した OAuth 2.0 クライアントの承認済みリダイレクト URI のいずれかと完全に一致し、リダイレクト URI の検証ルールに準拠している必要があります。このプロパティはポップアップ UX で無視されます。 | 
| 
        callback | ポップアップ UX に必要です。返されたコード レスポンスを処理する JavaScript 関数。このプロパティはリダイレクト UX で無視されます。 | 
| 
        state | 省略可。リダイレクト UX に推奨されます。認可リクエストと認可サーバーのレスポンスの間で状態を維持するためにアプリケーションが使用する文字列値を指定します。 | 
| 
        enable_granular_consent | 非推奨。設定しても効果はありません。同意の動作の詳細については、 きめ細かい権限をご覧ください。 | 
| 
        enable_serial_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 以外のエラーを処理する JavaScript 関数。 入力パラメータの `type` フィールドに詳細な理由が示されます。 
 | 
データ型: CodeClient
このクラスには、OAuth 2.0 コード UX フローを開始する requestCode というパブリック メソッドが 1 つだけあります。
interface CodeClient {
  requestCode(): void;
}
データ型: CodeResponse
ポップアップ UX の callback メソッドには、CodeResponse JavaScript オブジェクトが渡されます。リダイレクト 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に設定し、認可リクエストが承認された場合、新しいアクセス トークンは、このTokenClientConfigでリクエストされたscopeのスコープのみを対象とします。 | 
| 
        prompt | 省略可。デフォルトは 'select_account' です。ユーザーに提示するプロンプトのスペース区切り、大文字と小文字を区別するリスト。次の値があります。 
 | 
| 
        enable_granular_consent | 非推奨。設定しても効果はありません。同意の動作の詳細については、 きめ細かい権限をご覧ください。 | 
| 
        enable_serial_consent | 非推奨。設定しても効果はありません。同意の動作の詳細については、 きめ細かい権限をご覧ください。 | 
| 
        login_hint | 省略可。リクエストを承認するユーザーがわかっている場合は、このプロパティを使用して Google にログインヒントを提供できます。成功すると、アカウントの選択はスキップされます。ターゲット ユーザーのメールアドレスまたは ID トークンの sub フィールド値。詳細については、OpenID Connect ドキュメントの login_hintフィールドをご覧ください。 | 
| 
        hd | 省略可。ユーザーが所属する Workspace ドメインがアプリケーションでわかっている場合は、これを使用して Google にヒントを提供します。成功すると、ユーザー アカウントは指定されたドメインに制限されるか、そのドメインが事前に選択されます。詳細については、OpenID Connect ドキュメントの hdフィールドをご覧ください。 | 
| 
        state | 省略可。非推奨。認可リクエストと認可サーバーのレスポンスの間で状態を維持するためにアプリケーションが使用する文字列値を指定します。 | 
| 
        error_callback | 省略可。ポップアップ ウィンドウを開けなかった、OAuth レスポンスが返される前に閉じられたなど、OAuth 以外のエラーを処理する JavaScript 関数。 入力パラメータの `type` フィールドに詳細な理由が示されます。 
 | 
データ型: TokenClient
このクラスには、OAuth 2.0 トークン UX フローを開始する 1 つの公開メソッド requestAccessToken のみがあります。
interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
| 引数 | ||
|---|---|---|
| 
        overrideConfig | OverridableTokenClientConfig | 省略可。このメソッドでオーバーライドされる構成。 | 
データ型: OverridableTokenClientConfig
次の表に、OverridableTokenClientConfig データ型のプロパティを示します。
| プロパティ | |
|---|---|
| 
        scope | 省略可。アプリケーションがユーザーの代わりにアクセスできるリソースを識別するスコープのスペース区切りリスト。これらの値は、Google がユーザーに表示する同意画面に通知されます。 | 
| 
        include_granted_scopes | 省略可。デフォルトは trueです。アプリケーションが段階的認証を使用して、コンテキスト内の追加のスコープへのアクセスをリクエストできるようにします。このパラメータの値をfalseに設定し、認可リクエストが承認された場合、新しいアクセス トークンは、このOverridableTokenClientConfigでリクエストされたscopeのスコープのみを対象とします。 | 
| 
        prompt | 省略可。ユーザーに提示するプロンプトのスペース区切りの大文字と小文字を区別するリスト。 | 
| 
        enable_granular_consent | 非推奨。設定しても効果はありません。同意の動作の詳細については、 きめ細かい権限をご覧ください。 | 
| 
        enable_serial_consent | 非推奨。設定しても効果はありません。同意の動作の詳細については、 きめ細かい権限をご覧ください。 | 
| 
        login_hint | 省略可。リクエストを承認するユーザーがわかっている場合は、このプロパティを使用して Google にログインヒントを提供できます。成功すると、アカウントの選択はスキップされます。ターゲット ユーザーのメールアドレスまたは ID トークンの sub フィールド値。詳細については、OpenID Connect ドキュメントの login_hintフィールドをご覧ください。 | 
| 
        state | 省略可。非推奨。認可リクエストと認可サーバーのレスポンスの間で状態を維持するためにアプリケーションが使用する文字列値を指定します。 | 
データ型: TokenResponse
ポップアップ UX のコールバック メソッドには、TokenResponse JavaScript オブジェクトが渡されます。
次の表に、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メソッドの一般的なエラー:
 | 
| error_description | 文字列。成功した場合は未定義。人が読める ASCII テキストは、 errorプロパティに関する追加情報を提供します。デベロッパーはこれを使用して、発生したエラーをより深く理解できます。error_description文字列は英語のみです。errorに記載されている一般的なエラーに対応するerror_description:
 |