OfficeRuntime.Auth interface
承認に関連する API を含むインターフェイス。
注釈
このインターフェイスのメソッドは、 Office.auth インターフェイスのメソッドと同じです。 今後新しい認証の種類が追加される場合は、 Office.auth
インターフェイスにのみ追加されます。 わかりやすくするために、ドキュメント全体のコード例では、 Office.auth
を使用します。
例
// Get the auth context object and use it to get an
// access token.
const authContext = OfficeRuntime.context.auth;
const accessToken = authContext.getAccessTokenAsync();
メソッド
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
重要:
Outlook では、Outlook.com または Gmail メールボックスにアドインを読み込む場合、この API はサポートされません。
Outlook on the webでは、Safari ブラウザーを使用する場合、この API はサポートされません。 これにより、エラー 13001 が発生します ("ユーザーが Office にサインインしていません")。
Outlook on the webでは、displayDialogAsync メソッドを使用してダイアログを開く場合は、
getAccessToken
を呼び出す前にダイアログを閉じる必要があります。
例
async function getUserData() {
try {
let userTokenEncoded = await OfficeRuntime.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
}
}
}
Office Add-ins