OfficeRuntime.Auth interface
承認関連の API を含むインターフェイス。
注釈
このインターフェイスのメソッドは、Office.auth インターフェイスのメソッドと同等です。 将来新しい認証の種類が追加された場合、それらは Office.auth インターフェイスにのみ追加されます。 わかりやすくするために、ドキュメント全体のコード例では Office.auth を使用しています。
例
// Get the auth context object and use it to get an
// access token.
const auth = OfficeRuntime.auth;
const accessToken = await auth.getAccessToken();
メソッド
| get |
Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードは、このトークンを使用して、OAuth フロー "代理" を使用してアドインの Web アプリケーション用 Microsoft Graph にアクセスできます。 この API では、アドインを Azure アプリケーションにブリッジするシングル サインオン構成が必要です。 Office ユーザーは、組織アカウントと Microsoft アカウントを使用してサインインします。 Microsoft Azure では、Microsoft Graph のリソースにアクセスするために、両方のユーザー アカウントの種類を対象にしたトークンを返します。 |
メソッドの詳細
getAccessToken(options)
Azure Active Directory V 2.0 のエンドポイントを呼び出して、アドインの Web アプリケーションへのアクセス トークンを取得します。 アドインがユーザーを識別できるようにします。 サーバー側コードは、このトークンを使用して、OAuth フロー "代理" を使用してアドインの Web アプリケーション用 Microsoft Graph にアクセスできます。 この API では、アドインを Azure アプリケーションにブリッジするシングル サインオン構成が必要です。 Office ユーザーは、組織アカウントと Microsoft アカウントを使用してサインインします。 Microsoft Azure では、Microsoft Graph のリソースにアクセスするために、両方のユーザー アカウントの種類を対象にしたトークンを返します。
getAccessToken(options?: AuthOptions): Promise<string>;
パラメーター
- options
- OfficeRuntime.AuthOptions
省略可能。 サインオン動作を定義する AuthOptions オブジェクトを受け入れます。
返品
Promise<string>
アクセス トークンを約束します。
注釈
アプリケーション: Excel、Outlook、PowerPoint、Word
要件セット: IdentityAPI 1.3
重要:
Outlook では、Outlook.com または Gmail メールボックスにアドインを読み込む場合、この API はサポートされません。
Outlook on the web では、Safari ブラウザーを使用している場合、この API はサポートされません。 これにより、エラー 13001 ("ユーザーは Office にサインインしていません") が発生します。
Outlook on the web では、displayDialogAsync メソッドを使用してダイアログを開く場合、
getAccessTokenを呼び出す前にダイアログを閉じる必要があります。
例
async function getUserData() {
try {
const auth = OfficeRuntime.auth;
let userTokenEncoded = await auth.getAccessToken();
let userToken = jwt_decode(userTokenEncoded); // Using the https://www.npmjs.com/package/jwt-decode library.
console.log(userToken.name); // user name
console.log(userToken.preferred_username); // email
console.log(userToken.oid); // user id
}
catch (exception) {
if (exception.code === 13003) {
// SSO is not supported for domain user accounts, only
// Microsoft 365 Education or work account, or a Microsoft account.
} else {
// Handle error
}
}
}