更新日: 2026-09-25 robots: noindex
説明
chrome.identity API を使用して OAuth2 アクセス トークンを取得します。
権限
identity型
AccountInfo
プロパティ
-
id
文字列
アカウントの固有識別子。この ID は、アカウントの存続期間中は変更されません。
AccountStatus
列挙型
"SYNC"
メイン アカウントで同期が有効になっていることを指定します。
"ANY"
メイン アカウントが存在するかどうかを指定します。
GetAuthTokenResult
プロパティ
-
grantedScopes
string[] 省略可
拡張機能に付与された OAuth2 スコープのリスト。
-
token
文字列 省略可
リクエストに関連付けられている特定のトークン。
InvalidTokenDetails
プロパティ
-
token
文字列
キャッシュから削除する必要がある特定のトークン。
ProfileDetails
プロパティ
-
accountStatus
AccountStatus 省略可
ProfileUserInfoを返す必要があるプロファイルにログインしているメインのアカウントのステータス。デフォルトはSYNCアカウント ステータスです。
ProfileUserInfo
プロパティ
-
メール
文字列
現在のプロファイルにログインしているユーザー アカウントのメールアドレス。ユーザーがログインしていない場合、または
identity.emailマニフェスト権限が指定されていない場合は、空になります。 -
id
文字列
アカウントの固有識別子。この ID は、アカウントの存続期間中は変更されません。ユーザーがログインしていない場合、または(M41 以降で)
identity.emailマニフェスト権限が指定されていない場合は、空になります。
TokenDetails
プロパティ
-
アカウント
AccountInfo 省略可
トークンを返すアカウント ID。指定しない場合、この関数は Chrome プロファイルのアカウント(同期アカウントがある場合はそのアカウント、ない場合は最初の Google ウェブ アカウント)を使用します。
-
enableGranularPermissions
boolean 省略可
Chrome 87 以降enableGranularPermissionsフラグを使用すると、拡張機能は、リクエストされた権限が個別に付与または拒否される、きめ細かい権限の同意画面に早期にオプトインできます。 -
インタラクティブ
boolean 省略可
トークンを取得するには、ユーザーが Chrome にログインするか、アプリケーションがリクエストしたスコープを承認する必要があります。インタラクティブ フラグが
trueの場合、getAuthTokenは必要に応じてユーザーにプロンプトを表示します。フラグがfalseであるか省略されている場合、getAuthTokenはプロンプトが必要になるたびに失敗を返します。 -
スコープ
string[] 省略可
リクエストする OAuth2 スコープのリスト。
scopesフィールドが存在する場合、manifest.json で指定されたスコープのリストがオーバーライドされます。
WebAuthFlowDetails
プロパティ
-
abortOnLoadForNonInteractive
boolean 省略可
Chrome 113 以降ページ読み込み後に非インタラクティブ リクエストの
launchWebAuthFlowを終了するかどうか。このパラメータは、インタラクティブ フローには影響しません。true(デフォルト)に設定すると、ページの読み込み直後にフローが終了します。falseに設定すると、フローはtimeoutMsForNonInteractiveが経過した後にのみ終了します。これは、JavaScript を使用してページの読み込み後にリダイレクトを行う ID プロバイダに役立ちます。 -
インタラクティブ
boolean 省略可
インタラクティブ モードで認証フローを起動するかどうか。
一部の認証フローでは、結果の URL にすぐにリダイレクトされることがあるため、
launchWebAuthFlowは、最初のナビゲーションが最終的な URL にリダイレクトされるか、表示されるページの読み込みが完了するまで、ウェブビューを非表示にします。interactiveフラグがtrueの場合、ページの読み込みが完了するとウィンドウが表示されます。フラグがfalseであるか省略されている場合、最初のナビゲーションでフローが完了しないと、launchWebAuthFlowはエラーを返します。リダイレクトに JavaScript を使用するフローの場合、
timeoutMsForNonInteractiveを設定するとともにabortOnLoadForNonInteractiveをfalseに設定することで、ページでリダイレクトを実行できるようになります。 -
timeoutMsForNonInteractive
number 省略可
Chrome 113 以降launchWebAuthFlowが非インタラクティブ モードで実行できる合計時間(ミリ秒単位)。interactiveがfalseの場合にのみ有効です。 -
URL
文字列
認証フローを開始する URL。
メソッド
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
): Promise<void>
Identity API の状態をリセットします。
- トークン キャッシュからすべての OAuth2 アクセス トークンを削除します。
- ユーザーのアカウント設定を削除します
- すべての認証フローからユーザーの認証を解除します。
パラメータ
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 106 以降状態がクリアされると解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getAccounts()
chrome.identity.getAccounts(
callback?: function,
): Promise<AccountInfo[]>
プロファイルに存在するアカウントを記述する AccountInfo オブジェクトのリストを取得します。
getAccounts は Dev チャンネルでのみサポートされています。
パラメータ
-
callback
function 省略可
callbackパラメータは次のようになります。(accounts: AccountInfo[]) => void
-
アカウント
-
戻り値
-
<AccountInfo[]> を約束
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
): Promise<GetAuthTokenResult>
manifest.json の oauth2 セクションで指定されたクライアント ID とスコープを使用して、OAuth2 アクセス トークンを取得します。
Identity API はアクセス トークンをメモリにキャッシュするため、トークンが必要なときにいつでも非インタラクティブに getAuthToken を呼び出すことができます。トークン キャッシュは有効期限を自動的に処理します。
優れたユーザー エクスペリエンスを提供するには、アプリの UI でインタラクティブなトークン リクエストを開始し、認可の目的を説明することが重要です。この設定を行わないと、ユーザーに承認リクエストが表示されたり、ログインしていない場合は Chrome のログイン画面が表示されたりします。特に、アプリの初回起動時に getAuthToken をインタラクティブに使用しないでください。
注: コールバックを指定して呼び出した場合、この関数はオブジェクトを返すのではなく、2 つのプロパティを個別の引数としてコールバックに渡します。
パラメータ
-
詳細
TokenDetails 省略可
トークン オプション。
-
callback
function 省略可
callbackパラメータは次のようになります。(result: GetAuthTokenResult) => void
-
件の結果Chrome 105 以降
-
戻り値
-
Promise<GetAuthTokenResult>
Chrome 105 以降マニフェストで指定された OAuth2 アクセス トークンで解決される Promise を返します。エラーが発生した場合は拒否されます。
grantedScopesパラメータは Chrome 87 以降で入力されます。このパラメータには、返されたトークンに対応する付与されたスコープのリストが含まれます(利用可能な場合)。Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
): Promise<ProfileUserInfo>
プロファイルにログインしているユーザーのメールアドレスと難読化された GAIA ID を取得します。
identity.email マニフェスト権限が必要です。それ以外の場合は、空の結果を返します。
この API は、次の 2 つの点で identity.getAccounts と異なります。返される情報はオフラインで利用可能で、プロファイルのメイン アカウントにのみ適用されます。
パラメータ
-
詳細
ProfileDetails 省略可
Chrome 84 以降プロフィールの設定。
-
callback
function 省略可
callbackパラメータは次のようになります。(userInfo: ProfileUserInfo) => void
-
userInfo
-
戻り値
-
Promise<ProfileUserInfo>
Chrome 106 以降メインの Chrome アカウントの
ProfileUserInfoで解決される Promise を返します。指定されたdetailsのアカウントが存在しない場合は、空のProfileUserInfoを返します。Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
): string
launchWebAuthFlow で使用するリダイレクト URL を生成します。
生成された URL はパターン https://<app-id>.chromiumapp.org/* と一致します。
パラメータ
-
パス
文字列 省略可
生成された URL の末尾に追加されるパス。
戻り値
-
文字列
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
): Promise<string | undefined>
指定された URL で認証フローを開始します。
このメソッドは、ウェブビューを起動してプロバイダの認証フローの最初の URL に移動することで、Google 以外の ID プロバイダでの認証フローを可能にします。プロバイダがパターン https://<app-id>.chromiumapp.org/* に一致する URL にリダイレクトすると、ウィンドウが閉じ、最終的なリダイレクト URL が callback 関数に渡されます。
優れたユーザー エクスペリエンスを提供するには、アプリの UI でインタラクティブな認証フローを開始し、認証の目的を説明することが重要です。これを行わないと、ユーザーにコンテキストのない承認リクエストが届くことになります。特に、アプリの初回起動時には、インタラクティブな認証フローを起動しないでください。
パラメータ
-
WebAuth フローのオプション。
-
callback
function 省略可
callbackパラメータは次のようになります。(responseUrl?: string) => void
-
responseUrl
文字列 省略可
-
戻り値
-
Promise<string | undefined>
Chrome 106 以降アプリケーションにリダイレクトされる URL で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
): Promise<void>
Identity API のトークン キャッシュから OAuth2 アクセス トークンを削除します。
アクセス トークンが無効であることが判明した場合は、removeCachedAuthToken に渡してキャッシュから削除する必要があります。アプリは getAuthToken を使用して新しいトークンを取得できます。
パラメータ
-
トークン情報。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 106 以降トークンがキャッシュから削除されると解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
イベント
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
ユーザーのプロファイルのアカウントのログイン状態が変更されたときに呼び出されます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(account: AccountInfo, signedIn: boolean) => void
-
アカウント
-
signedIn
ブール値
-