Office.Auth interface

El espacio de nombres de Office Auth, Office.auth, proporciona métodos para que la aplicación cliente de Office obtenga tokens de acceso a la aplicación web del complemento. Indirectamente, esto habilita el complemento para que tenga acceso a los datos del usuario que ha iniciado sesión en Microsoft Graph, sin que el usuario inicie sesión por segunda vez.

Comentarios

Ejemplos

// Get the auth context object and use it to get an
// access token.
const authContext = Office.context.auth;
authContext.getAccessTokenAsync(function(result) {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
        const token = result.value;
        console.log(token);
    } else {
        console.log("Error obtaining token", result.error);
    }
});

Métodos

getAccessToken(options)

Llama al punto de conexión de Azure Active Directory V 2.0 para obtener acceso a un token para la aplicación de web del complemento. Permite que los complementos identifiquen a los usuarios. El código del lado servidor puede usar este token para acceder a Microsoft Graph para la aplicación web del complemento mediante el flujo de OAuth "en nombre de". Esta API requiere una configuración de inicio de sesión único que relacione el complemento con una aplicación de Azure. Los usuarios de Office inician sesión con cuentas organizativas y cuentas de Microsoft. Microsoft Azure devuelve tokens destinados a ambos tipos de cuentas de usuario para tener acceso a recursos en Microsoft Graph.

getAccessTokenAsync(options, callback)

Llama al punto de conexión de Azure Active Directory V 2.0 para obtener acceso a un token para la aplicación de web del complemento. Permite que los complementos identifiquen a los usuarios. El código del lado servidor puede usar este token para acceder a Microsoft Graph para la aplicación web del complemento mediante el flujo de OAuth "en nombre de".

Importante: En Outlook, esta API no se admite si el complemento se carga en un buzón de Outlook.com o Gmail.

Advertencia: getAccessTokenAsync ha quedado en desuso. Use Office.auth.getAccessToken en su lugar.

getAccessTokenAsync(callback)

Llama al punto de conexión de Azure Active Directory V 2.0 para obtener acceso a un token para la aplicación de web del complemento. Permite que los complementos identifiquen a los usuarios. El código del lado servidor puede usar este token para acceder a Microsoft Graph para la aplicación web del complemento mediante el flujo de OAuth "en nombre de".

Importante: En Outlook, esta API no se admite si el complemento se carga en un buzón de Outlook.com o Gmail.

Advertencia: getAccessTokenAsync ha quedado en desuso. Use Office.auth.getAccessToken en su lugar.

getAuthContext()

Obtiene información sobre el usuario que ha iniciado sesión. El complemento puede pasar esta información a la biblioteca de autenticación de Microsoft (MSAL.js) para obtener un token de acceso para la sesión actual.

Detalles del método

getAccessToken(options)

Llama al punto de conexión de Azure Active Directory V 2.0 para obtener acceso a un token para la aplicación de web del complemento. Permite que los complementos identifiquen a los usuarios. El código del lado servidor puede usar este token para acceder a Microsoft Graph para la aplicación web del complemento mediante el flujo de OAuth "en nombre de". Esta API requiere una configuración de inicio de sesión único que relacione el complemento con una aplicación de Azure. Los usuarios de Office inician sesión con cuentas organizativas y cuentas de Microsoft. Microsoft Azure devuelve tokens destinados a ambos tipos de cuentas de usuario para tener acceso a recursos en Microsoft Graph.

getAccessToken(options?: AuthOptions): Promise<string>;

Parámetros

options
Office.AuthOptions

Opcional. Acepta un AuthOptions objeto para definir comportamientos de inicio de sesión.

Devoluciones

Promise<string>

Prométese con el token de acceso.

Comentarios

Aplicaciones: Excel, OneNote, Outlook, PowerPoint, Word

Conjunto de requisitos: IdentityAPI 1.3

Importante:

  • En Outlook, esta API no se admite si carga un complemento en un buzón de correo de Outlook.com o Gmail.

  • En Outlook en la Web, esta API no se admite si usa Firefox con La protección de seguimiento mejorada activada. Esto da como resultado el error 13001 ("El usuario no ha iniciado sesión en Office").

  • En Outlook en la Web y nueva Outlook en Windows, si usa el método displayDialogAsync para abrir un cuadro de diálogo, debe cerrar el cuadro de diálogo para poder llamar a getAccessToken.

  • En un complemento de activación basado en eventos de Outlook, esta API se admite en Outlook en Windows a partir de la versión 2111 (compilación 14701.20000). Para recuperar un token de acceso en compilaciones anteriores, use OfficeRuntime.auth.getAccessToken en su lugar. Para obtener más información, vea Habilitar el inicio de sesión único (SSO) en complementos de Outlook que usan la activación basada en eventos.

Ejemplos

try{
    const accessToken = await Office.auth.getAccessToken({
        allowSignInPrompt: true,
        allowConsentPrompt: true,
        forMSGraphAccess: true,
    });
} catch (error) {
    console.log("Error obtaining token", error);
}

getAccessTokenAsync(options, callback)

Advertencia

Esta API ya está en desuso.

Use Office.auth.getAccessToken instead.

Llama al punto de conexión de Azure Active Directory V 2.0 para obtener acceso a un token para la aplicación de web del complemento. Permite que los complementos identifiquen a los usuarios. El código del lado servidor puede usar este token para acceder a Microsoft Graph para la aplicación web del complemento mediante el flujo de OAuth "en nombre de".

Importante: En Outlook, esta API no se admite si el complemento se carga en un buzón de Outlook.com o Gmail.

Advertencia: getAccessTokenAsync ha quedado en desuso. Use Office.auth.getAccessToken en su lugar.

getAccessTokenAsync(options?: AuthOptions, callback?: (result: AsyncResult<string>) => void): void;

Parámetros

options
Office.AuthOptions

Opcional. Acepta un AuthOptions objeto para definir comportamientos de inicio de sesión.

callback

(result: Office.AsyncResult<string>) => void

Opcional. Acepta una función de devolución de llamada que puede analizar el token para el identificador del usuario o usar el token en el flujo "en nombre de" para obtener acceso a Microsoft Graph. Si AsyncResult.status es "correcto", AsyncResult.value es el token de acceso sin formato de AAD v. 2.0.

Devoluciones

void

Comentarios

Aplicaciones: Excel, OneNote, Outlook, PowerPoint, Word

Conjunto de requisitos: IdentityAPI 1.3

Esta API requiere una configuración de inicio de sesión único que relacione el complemento con una aplicación de Azure. Los usuarios de Office inician sesión con cuentas organizativas y cuentas de Microsoft. Microsoft Azure devuelve tokens destinados a ambos tipos de cuentas de usuario para tener acceso a recursos en Microsoft Graph.

Ejemplos

Office.context.auth.getAccessTokenAsync(function(result) {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
        const token = result.value;
        // ...
    } else {
        console.log("Error obtaining token", result.error);
    }
});

getAccessTokenAsync(callback)

Advertencia

Esta API ya está en desuso.

Use Office.auth.getAccessToken instead.

Llama al punto de conexión de Azure Active Directory V 2.0 para obtener acceso a un token para la aplicación de web del complemento. Permite que los complementos identifiquen a los usuarios. El código del lado servidor puede usar este token para acceder a Microsoft Graph para la aplicación web del complemento mediante el flujo de OAuth "en nombre de".

Importante: En Outlook, esta API no se admite si el complemento se carga en un buzón de Outlook.com o Gmail.

Advertencia: getAccessTokenAsync ha quedado en desuso. Use Office.auth.getAccessToken en su lugar.

getAccessTokenAsync(callback?: (result: AsyncResult<string>) => void): void;

Parámetros

callback

(result: Office.AsyncResult<string>) => void

Opcional. Acepta una función de devolución de llamada que puede analizar el token para el identificador del usuario o usar el token en el flujo "en nombre de" para obtener acceso a Microsoft Graph. Si AsyncResult.status es "correcto", AsyncResult.value es el token de acceso sin formato de AAD v. 2.0.

Devoluciones

void

Comentarios

Aplicaciones: Excel, OneNote, Outlook, PowerPoint, Word

Conjunto de requisitos: IdentityAPI 1.3

Esta API requiere una configuración de inicio de sesión único que relacione el complemento con una aplicación de Azure. Los usuarios de Office inician sesión con cuentas organizativas y cuentas de Microsoft. Microsoft Azure devuelve tokens destinados a ambos tipos de cuentas de usuario para tener acceso a recursos en Microsoft Graph.

getAuthContext()

Obtiene información sobre el usuario que ha iniciado sesión. El complemento puede pasar esta información a la biblioteca de autenticación de Microsoft (MSAL.js) para obtener un token de acceso para la sesión actual.

getAuthContext(): Promise<AuthContext>;

Devoluciones

Promesa al objeto AuthContext.

Comentarios

Hosts: Excel, OneNote, Outlook, PowerPoint, Word

Conjunto de requisitos: NestedAppAuth 1.1

Ejemplos

try{
    const authContext = await Office.auth.getAuthContext();
    console.log(authContext.userPrincipalName);
} catch (error) {
    console.log("Error obtaining token", error);
}