Habilitar o logon único para Suplementos do Office (visualização)Enable single sign-on for Office Add-ins (preview)

Os usuários entram no Office (online, em dispositivos móveis e plataformas desktop) usando tanto a conta pessoal deles da Microsoft, como a conta corporativa ou de estudante (Office 365).Users sign in to Office (online, mobile, and desktop platforms) using either their personal Microsoft account or their work or school (Office 365) account. Você pode tirar proveito disso e usar o logon único (SSO) para autorizar usuário para suplemento, sem exigir que o usuário entre uma segunda vez.You can take advantage of this and use single sign-on (SSO) to authorize the user to your add-in without requiring the user to sign in a second time.

Imagem mostrando o processo de logon de um suplemento

Status de visualizaçãoPreview Status

A API de logon único tem suporte somente na visualização.The Single Sign-on API is currently supported in preview only. Está disponível para os desenvolvedores para experimentação; mas não deve ser usado em um suplemento de produção.It is available to developers for experimentation; but it should not be used in a production add-in. Além disso, os suplementos que usam o SSO não são aceitos no AppSource.In addition, add-ins that use SSO are not accepted in AppSource.

O SSO exige o Office 365 (a versão de assinatura do Office).SSO requires Office 365 (the subscription version of Office). Você deve usar o build e a versão mensal mais recente do canal Insiders.You should use the latest monthly version and build from the Insiders channel. É necessário ingressar no programa Office Insider para obter essa versão.You need to be an Office Insider to get this version. Para saber mais, confira a página Seja um Office Insider.For more information, see Be an Office Insider. Observe que, quando um build é promovido ao Canal Semestral de produção, o suporte para recursos de visualização, como o SSO, é desativado para esse build.Please note that when a build graduates to the production semi-annual channel, support for preview features, including SSO, is turned off for that build.

Nem todos os aplicativos do Office oferecem suporte a visualização de SSO.Not all Office applications support the SSO preview. Está disponível no Word, Excel, Outlook e PowerPoint.It is available in Word, Excel, Outlook, and PowerPoint. Confira mais informações sobre os programas para os quais a API de logon único tem suporte no momento em Conjuntos de requisitos da IdentityAPI.For more information about where the Single Sign-on API is currently supported, see IdentityAPI requirement sets.

Requisitos e as práticas recomendadasRequirements and Best Practices

Observação

Para usar esse recurso, você deve usar a versão prévia da biblioteca JavaScript do Office da CDN do Office. js.To use this feature, you must use the preview version of the Office JavaScript library from the Office.js CDN. O arquivo de definição de tipo para compilação TypeScript e IntelliSense é encontrado em CDN e DefinitelyTyped.The type definition file for TypeScript compilation and IntelliSense is found at the CDN and DefinitelyTyped. Você pode instalar esses tipos com npm install --save-dev @types/office-js-previewo.You can install these types with npm install --save-dev @types/office-js-preview.

Se você estiver trabalhando com um suplemento do Outlook, certifique-se de habilitar a Autenticação Moderna para o locatário do Office 365.If you are working with an Outlook add-in, be sure to enable Modern Authentication for the Office 365 tenancy. Confira mais informações sobre como fazer isso em Exchange Online: como habilitar seu locatário para autenticação moderna.For information about how to do this, see Exchange Online: How to enable your tenant for modern authentication.

Você não deve confiar no SSO como único método do suplemento de autenticação.You should not rely on SSO as your add-in's only method of authentication. Devem implementar um sistema de autenticação alternativo que o suplemento possa se enquadrar em determinadas situações de erro.You should implement an alternate authentication system that your add-in can fall back to in certain error situations. Você pode usar um sistema de autenticação e tabelas de usuário ou utilizar um dos provedores de logon de redes sociais.You can use a system of user tables and authentication, or you can leverage one of the social login providers. Para saber mais sobre como fazer isso com um suplemento do Office, confira Autorizar serviços externos nos suplementos do Office.For more information about how to do this with an Office add-in, see Authorize external services in your Office Add-in. Para Outlook, há um sistema de fallback recomendado.For Outlook, there is a recommended fallback system. Para mais informações, confira Cenário: implementar o logon único no serviço em um Suplemento do Outlook.For more information, see Scenario: Implement single sign-on to your service in an Outlook add-in. Para exemplos que usam o Azure Active Directory como o sistema de fallback, confira SSO com Suplemento NodeJS do Office e SSO com Suplemento ASP.NET do Office.For samples that use Azure Active Directory as the fallback system, see Office Add-in NodeJS SSO and Office Add-in ASP.NET SSO.

Como o SSO funciona em tempo de execuçãoHow SSO works at runtime

O diagrama a seguir mostra como funciona o processo de SSO.The following diagram shows how the SSO process works.

Diagrama que mostra o processo de SSO

  1. No suplemento, o JavaScript chama uma nova API do Office.js getAccessToken.In the add-in, JavaScript calls a new Office.js API getAccessToken. Isso informa ao aplicativo host do Office para obter um token de acesso para o suplemento.This tells the Office host application to obtain an access token to the add-in. Confira Token de acesso de amostra.See Example access token.
  2. Se o usuário não estiver conectado, o aplicativo host do Office abrirá uma janela pop-up para o usuário entrar.If the user is not signed in, the Office host application opens a pop-up window for the user to sign in.
  3. Se essa é a primeira vez que o usuário atual usa seu suplemento, será solicitado que ele dê o consentimento.If this is the first time the current user has used your add-in, he or she is prompted to consent.
  4. O aplicativo host do Office solicita o token do suplemento do ponto de extremidade v 2.0 do Azure AD para o usuário atual. The Office host application requests the add-in token from the Azure AD v2.0 endpoint for the current user.
  5. O Azure AD envia o token do suplemento ao aplicativo host do Office.Azure AD sends the add-in token to the Office host application.
  6. O aplicativo host do Office envia o token do suplemento ao suplemento como parte do objeto de resultado que retornou pela chamada de getAccessToken.The Office host application sends the add-in token to the add-in as part of the result object returned by the getAccessToken call.
  7. O JavaScript no suplemento pode analisar o token e extrair informações necessárias, como endereço de email do usuário.JavaScript in the add-in can parse the token and extract the information it needs, such as the user's email address.
  8. Opcionalmente, o suplemento pode enviar solicitação HTTP para o servidor para obter mais dados sobre o usuário; como as preferências do usuário.Optionally, the add-in can send HTTP request to its server-side for more data about the user; such as the user's preferences. Como alternativa, o próprio token de acesso pode ser enviado para o servidor para análise e validação.Alternatively, the access token itself could be sent to the server-side for parsing and validation there.

Desenvolver um suplemento com SSODevelop an SSO add-in

Esta seção descreve as tarefas envolvidas na criação de um suplemento do Office que usa SSO.This section describes the tasks involved in creating an Office Add-in that uses SSO. Essas tarefas descritas aqui apresentam uma linguagem e uma estrutura de forma agnóstica.These tasks are described here in a language- and framework-agnostic way. Para orientações detalhadas, confira:For detailed walkthroughs, see:

Observação

Você pode usar o gerador Yeoman para criar um Suplemento do Office com Node.js habilitado para SSO.You can use the Yeoman generator to create an SSO-enabled, Node.js Office Add-in. O gerador Yeoman simplifica o processo de criação de um suplemento habilitado para SSO, automatizando as etapas necessárias para configurar o SSO no Azure e gerando o código necessário para um suplemento usar o SSO.The Yeoman generator simplifies the process of creating an SSO-enabled add-in, by automating the steps required to configure SSO within Azure and generating the code that's necessary for an add-in to use SSO. Para obter mais informações, confira Início rápido de logon único (SSO).For more information, see the Single sign-on (SSO) quick start.

Criar o aplicativo de serviçoCreate the service application

Registre o suplemento no portal de registro para o ponto de extremidade do Azure v 2.0. Esse é um processo que leva entre 5 e 10 minutos e inclui as seguintes tarefas:Register the add-in at the registration portal for the Azure v2.0 endpoint. This is a 5–10 minute process that includes the following tasks:

  • Obter um ID de cliente e o segredo para o suplemento.Get a client ID and secret for the add-in.
  • Especificar as permissões que seu suplemento precisa de AAD v.Specify the permissions that your add-in needs to AAD v. ponto de extremidade 2.0 (e, opcionalmente, para o Microsoft Graph).2.0 endpoint (and optionally to Microsoft Graph). A permissão "perfil" sempre é necessária.The "profile" permission is always needed.
  • Conceder a confiança do aplicativo host do Office para o suplemento.Grant the Office host application trust to the add-in.
  • Autorizar previamente o aplicativo host do Office para o suplemento com a permissão padrão access_as_user.Preauthorize the Office host application to the add-in with the default permission access_as_user.

Para mais detalhes sobre esse processo, confira Registrar um Suplemento do Office que usa SSO com o ponto de extremidade do Azure AD v2.0.For more details about this process, see Register an Office Add-in that uses SSO with the Azure AD v2.0 endpoint.

Configurar o suplementoConfigure the add-in

Adicione novas marcações ao manifesto do suplemento:Add new markup to the add-in manifest:

  • WebApplicationInfo – o pai dos seguintes elementos.WebApplicationInfo - The parent of the following elements.
  • ID - O ID do cliente do suplemento Este é um ID do aplicativo que você obtém como parte do registro do suplemento.Id - The client ID of the add-in This is an application ID that you obtain as part of registering the add-in. Confira Registrar um Suplemento do Office que usa SSO com o ponto de extremidade do Azure AD v2.0.See Register an Office Add-in that uses SSO with the Azure AD v2.0 endpoint.
  • Resource – A URL do suplemento.Resource - The URL of the add-in. Esse é o mesmo URI (incluindo o protocolo api:) que você usou ao registrar o suplemento no AAD.This is the same URI (including the api: protocol) that you used when registering the add-in in AAD. Parte de domínio deste URI deve coincidir com o domínio, incluindo qualquer subdomínio, que o usado nas URLs na seção <Resources> do manifesto do suplemento.The domain part of this URI should match the domain, including any subdomains, used in the URLs in the <Resources> section of the add-in's manifest.
  • Scopes – O pai de uma ou mais elementos Scope.Scopes - The parent of one or more Scope elements.
  • Scope – Especifica uma permissão que seu suplemento precisa para o AAD.Scope - Specifies a permission that the add-in needs to AAD. A permissão profile sempre é necessária, e pode ser a única permissão necessária, se o suplemento não acessar o Microsoft Graph.The profile permission is always needed and it may be the only permission needed, if your add-in does not access Microsoft Graph. Se isso acontecer, você também precisa de elementos Escopo para as permissões necessárias do Microsoft Graph; por exemplo, User.Read, Mail.Read.If it does, you also need Scope elements for the required Microsoft Graph permissions; for example, User.Read, Mail.Read. Bibliotecas que você usa no seu código para acessar o Microsoft Graph pode precisar de permissões adicionais.Libraries that you use in your code to access Microsoft Graph may need additional permissions. Por exemplo, a biblioteca de autenticação da Microsoft (MSAL) para .NET requer a permissão offline_access.For example, Microsoft Authentication Library (MSAL) for .NET requires offline_access permission. Para saber mais, confira autorizar o Microsoft Graph de um suplemento do Office.For more information, see Authorize to Microsoft Graph from an Office Add-in.

Para hosts do Office diferentes do Outlook, adicione a marcação no final da seção <VersionOverrides ... xsi:type="VersionOverridesV1_0">. Para o Outlook, adicione a marcação no final da seção <VersionOverrides ... xsi:type="VersionOverridesV1_1">.For Office hosts other than Outlook, add the markup to the end of the <VersionOverrides ... xsi:type="VersionOverridesV1_0"> section. For Outlook, add the markup to the end of the <VersionOverrides ... xsi:type="VersionOverridesV1_1"> section.

Veja a seguir um exemplo da marcação:The following is an example of the markup:

<WebApplicationInfo>
    <Id>5661fed9-f33d-4e95-b6cf-624a34a2f51d</Id>
    <Resource>api://addin.contoso.com/5661fed9-f33d-4e95-b6cf-624a34a2f51d</Resource>
    <Scopes>
        <Scope>user.read</Scope>
        <Scope>files.read</Scope>
        <Scope>profile</Scope>
    </Scopes>
</WebApplicationInfo>

Adicionar código do lado do clienteAdd client-side code

Adicione o JavaScript ao suplemento para:Add JavaScript to the add-in to:

  • Chamar getAccessToken.Call getAccessToken.

  • Analisar o token de acesso ou encaminhá-lo ao código de servidor do suplemento.Parse the access token or pass it to the add-in’s server-side code.

Aqui está um exemplo simples de uma chamada para getAccessToken.Here's a simple example of a call to getAccessToken.

Observação

Este exemplo lida explicitamente com apenas um tipo de erro.This example handles only one kind of error explicitly. Para exemplos de tratamento de erro mais elaborados, confira SSO com Suplemento NodeJS do Office e SSO com Suplemento ASP.NET do Office.For examples of more elaborate error handling, see Office Add-in NodeJS SSO and Office Add-in ASP.NET SSO.

async function getGraphData() {
    try {
        let bootstrapToken = await OfficeRuntime.auth.getAccessToken({ allowSignInPrompt: true, forMSGraphAccess: true });

        // The /api/values controller will make the token exchange and use the
        // access token it gets back to make the call to MS Graph.
        getData("/api/DoSomething", bootstrapToken);
    }
    catch (exception) {
        if (exception.code === 13003) {
            // SSO is not supported for domain user accounts, only
            // work or school (Office 365) or Microsoft Account IDs.
        } else {
            // Handle error
        }
    }
}

Aqui está um exemplo simples de como passar o token de suplemento para o lado do servidor.Here's a simple example of passing the add-in token to the server-side. O token é incluído como um cabeçalho de Authorizationao enviar uma solicitação para o lado do servidor.The token is included as an Authorization header when sending a request back to the server-side. Este exemplo prevê enviar dados JSON, para que ele tenha o método POST, mas GET é suficiente para enviar o token de acesso quando você não estiver escrevendo no servidor.This example envisions sending JSON data, so it uses the POST method, but GET is sufficient to send the access token when you are not writing to the server.

$.ajax({
    type: "POST",
    url: "/api/DoSomething",
    headers: {
        "Authorization": "Bearer " + bootstrapToken
    },
    data: { /* some JSON payload */ },
    contentType: "application/json; charset=utf-8"
}).done(function (data) {
    // Handle success
}).fail(function (error) {
    // Handle error
}).always(function () {
    // Cleanup
});

Quando chamar o métodoWhen to call the method

Se o seu suplemento não puder ser usado quando nenhum usuário estiver logado no Office, então será necessário chamar o getAccessToken quando o suplemento for iniciado e passar allowSignInPrompt: true no parâmetro de options do getAccessToken.If your add-in cannot be used when no user is logged into Office, then you should call getAccessToken when the add-in launches and pass allowSignInPrompt: true in the options parameter of getAccessToken.

Se o complemento tiver alguma funcionalidade que não exija um usuário conectado, então chame getAccessToken * quando o usuário fizer uma ação que exija acesso a um usuário logado*.If the add-in has some functionality that doesn't require a logged in user, then you call getAccessToken when the user takes an action that requires a logged in user. Não há uma degradação significativa do desempenho com chamadas redundantes de getAccessToken porque o Office armazena em cache o token de inicialização e o reutilizará, até que ele expire, sem fazer outra chamada para o AAD v.There is no significant performance degradation with redundant calls of getAccessToken because Office caches the bootstrap token and will reuse it, until it expires, without making another call to the AAD v. Ponto de extremidade 2.0 sempre que getAccessToken for chamado.2.0 endpoint whenever getAccessToken is called. Portanto, você pode adicionar chamadas de getAccessToken para todas as funções e manipuladores que iniciam uma ação onde o token é necessário.So you can add calls of getAccessToken to all functions and handlers that initiate an action where the token is needed.

Adicionar código no lado do servidorAdd server-side code

Na maioria dos cenários, não haverá muitas razões para obter o token de acesso, se o suplemento não o passar no lado do servidor e o utilizar lá.In most scenarios, there would be little point to obtaining the access token, if your add-in does not pass it on to a server-side and use it there. Algumas tarefas de servidor que o suplemento pode fazer:Some server-side tasks your add-in could do:

  • Criar um ou mais métodos de Web API com informações sobre o usuário que são extraídas do token; Por exemplo, uma forma que procura preferências do usuário em seu banco de dados hospedado.Create one or more Web API methods that use information about the user that is extracted from the token; for example, a method that looks up the user's preferences in your hosted data base. (Confira usando o token SSO, como uma identidade abaixo.)Dependendo do seu idioma e da estrutura, podem estar disponíveis bibliotecas que simplificarão o código que você precisa escrever.(See Using the SSO token as an identity below.) Depending on your language and framework, libraries might be available that will simplify the code you have to write.

  • Obter dados do Microsoft Graph.Get Microsoft Graph data. O código do lado do servidor precisa fazer o seguinte:Your server-side code should do the following:

    • Iniciar o fluxo "on behalf of" com uma chamada para o ponto de extremidade v 2.0 do Azure AD que inclui o token de acesso, alguns metadados sobre o usuário e as credenciais do suplemento (sua ID e segredo).Initiate the “on behalf of” flow with a call to the Azure AD v2.0 endpoint that includes the access token, some metadata about the user, and the credentials of the add-in (its ID and secret). O token de acesso nesse contexto é chamado de bootstrap token.In this context, the access token is called the bootstrap token.
    • Obter os dados do Microsoft Graph usando o novo token.Get data from Microsoft Graph by using the new token.
    • Opcionalmente, valide o token de acesso antes de iniciar o fluxo (confira Validar o token de acesso abaixo).Optionally, before initiating the flow, validate the access token (see Validate the access token below).
    • Opcionalmente, após a conclusão do fluxo on-behalf-of, armazene em cache o novo token de acesso retornado do fluxo, de forma que ele seja reutilizado em outras chamadas para o Microsoft Graph até que ele expire.Optionally, after the on-behalf-of flow completes, cache the new access token that is returned from the flow so that it an be reused in other calls to Microsoft Graph until it expires.

Para saber mais sobre como obter acesso autorizado aos dados do usuário Microsoft Graph, confira Autorizar o Microsoft Graph nos suplementos do Office.For more details about getting authorized access to the user's Microsoft Graph data, see Authorize to Microsoft Graph in your Office Add-in.

Validar o token de acessoValidate the access token

Após a API da Web receber o token de acesso, ela deve validá-lo antes que ele possa ser usado.Once the Web API receives the access token, it can validate it before using it. O token é um Token Web JSON (JWT) e isso significa que validação funciona como uma validação de token na maioria dos fluxos padrão do OAuth.The token is a JSON Web Token (JWT), which means that validation works just like token validation in most standard OAuth flows. Há diversas bibliotecas disponíveis que podem lidar com a validação de JWT. No entanto, as noções básicas incluem:There are a number of libraries available that can handle JWT validation, but the basics include:

  • Verificar se o token foi bem formadoChecking that the token is well-formed
  • Verificar se o token foi emitido pela autoridade desejadaChecking that the token was issued by the intended authority
  • Verificar se o token está direcionado para a API WebChecking that the token is targeted to the Web API

Ao validar o token, lembre-se das seguintes diretrizes:Keep in mind the following guidelines when validating the token:

  • Os tokens SSO válidos serão emitidos pela autoridade do Azure, https://login.microsoftonline.com.Valid SSO tokens will be issued by the Azure authority, https://login.microsoftonline.com. A declaração iss no token deve começar com esse valor.The iss claim in the token should start with this value.
  • O parâmetro aud do token será configurado como a ID de aplicativo do registro do suplemento.The token's aud parameter will be set to the application ID of the add-in's registration.
  • O parâmetro scp do token será definido como access_as_user.The token's scp parameter will be set to access_as_user.

Usar o token SSO como uma identidadeUsing the SSO token as an identity

Se o suplemento precisar verificar a identidade do usuário, o token SSO contém informações que podem ser usadas para estabelecer a identidade.If your add-in needs to verify the user's identity, the SSO token contains information that can be used to establish the identity. As seguintes declarações no token estão relacionadas à identidade.The following claims in the token relate to identity.

  • name – O nome para exibição do usuário.name - The user's display name.
  • preferred_usernameO endereço de email do usuário.preferred_username - The user's email address.
  • oid – Um GUID que representa a ID do usuário no Azure Active Directory.oid - A GUID representing the ID of the user in the Azure Active Directory.
  • tid – Um GUID que representa a ID da organização do usuário no Azure Active Directory.tid - A GUID representing the ID of the user's organization in the Azure Active Directory.

Como os valores name e preferred_username podem alterar, recomendamos que os valores oid e tid sejam usados para correlacionar a identidade com o serviço de autorização do back-end.Since the name and preferred_username values could change, we recommend that the oid and tid values be used to correlate the identity with your back-end's authorization service.

Por exemplo, o serviço poderia formatar os valores em conjunto como {oid-value}@{tid-value} e armazená-los como um valor no registro do usuário no banco de dados do usuário interno.For example, your service could format those values together like {oid-value}@{tid-value}, then store that as a value on the user's record in your internal user database. Em seguida, nas solicitações subsequentes, o usuário poderia ser recuperado usando o mesmo valor e o acesso a recursos específicos poderia ser determinado com base em seus mecanismos de controle de acesso existentes.Then on subsequent requests, the user could be retrieved by using the same value, and access to specific resources could be determined based on your existing access control mechanisms.

Token de acesso de exemploExample access token

A seguir está uma carga decodificada típica do token de acesso.The following is a typical decoded payload of an access token. Para saber mais sobre as propriedades, confira Referência de tokens de versão do Azure Active Directory 2.0.For information about the properties, see Azure Active Directory v2.0 tokens reference.

{
    aud: "2c3caa80-93f9-425e-8b85-0745f50c0d24",
    iss: "https://login.microsoftonline.com/fec4f964-8bc9-4fac-b972-1c1da35adbcd/v2.0",
    iat: 1521143967,
    nbf: 1521143967,
    exp: 1521147867,
    aio: "ATQAy/8GAAAA0agfnU4DTJUlEqGLisMtBk5q6z+6DB+sgiRjB/Ni73q83y0B86yBHU/WFJnlMQJ8",
    azp: "e4590ed6-62b3-5102-beff-bad2292ab01c",
    azpacr: "0",
    e_exp: 262800,
    name: "Mila Nikolova",
    oid: "6467882c-fdfd-4354-a1ed-4e13f064be25",
    preferred_username: "milan@contoso.com",
    scp: "access_as_user",
    sub: "XkjgWjdmaZ-_xDmhgN1BMP2vL2YOfeVxfPT_o8GRWaw",
    tid: "fec4f964-8bc9-4fac-b972-1c1da35adbcd",
    uti: "MICAQyhrH02ov54bCtIDAA",
    ver: "2.0"
}

Usando o SSO com um suplemento do OutlookUsing SSO with an Outlook add-in

Há algumas diferenças pequenas, mas importantes entre usar o SSO em um suplemento do Outlook e em um suplemento do Excel, PowerPoint ou Word.There are some small, but important differences in using SSO in an Outlook add-in from using it in an Excel, PowerPoint, or Word add-in. Não deixe de ler Autenticar o usuário com um token de logon único em um suplemento do Outlook e Cenário: implementar o logon único ao serviço em um suplemento do Outlook.Be sure to read Authenticate a user with a single sign-on token in an Outlook add-in and Scenario: Implement single sign-on to your service in an Outlook add-in.

Referência da API do SSOSSO API reference

getAccessTokengetAccessToken

O namespace Auth do OfficeRuntime, OfficeRuntime.Auth, fornece um método, getAccessToken que permite com que o host do Office obtenha um token de acesso para o aplicativo web do suplemento.The OfficeRuntime Auth namespace, OfficeRuntime.Auth, provides a method, getAccessToken that enables the Office host to obtain an access token to the add-in's web application. Indiretamente, isso também habilita o suplemento para acessar os dados do Microsoft Graph do usuário sem exigir que o usuário se conecte uma segunda vez.Indirectly, this also enables the add-in to access the signed-in user's Microsoft Graph data without requiring the user to sign in a second time.

getAccessToken(options?: AuthOptions: (result: AsyncResult<string>) => void): void;

O método chama o ponto de extremidade do Azure Active Directory V 2.0 para obter um token de acesso para o aplicativo Web do seu suplemento.The method calls the Azure Active Directory V 2.0 endpoint to get an access token to your add-in's web application. Isso permite que os suplementos identifiquem usuários.This enables add-ins to identify users. O código do lado do servidor pode usar esse token para acessar o Microsoft Graph do aplicativo Web do suplemento usando o fluxo OAuth "em nome de".Server side code can use this token to access Microsoft Graph for the add-in's web application by using the "on behalf of" OAuth flow.

Observação

No Outlook, não há suporte para esse API se o suplemento for carregado em uma caixa de correio do Gmail ou do Outlook.com.In Outlook, this API is not supported if the add-in is loaded in an Outlook.com or Gmail mailbox.

HostsHosts Excel, OneNote, Outlook, PowerPoint, WordExcel, OneNote, Outlook, PowerPoint, Word
Conjuntos de requisitosRequirement sets IdentityAPIIdentityAPI

ParâmetrosParameters

options – Opcional.options - Optional. Aceite um objeto AuthOptions (veja abaixo) para definir comportamentos de logon.Accepts an AuthOptions object (see below) to define sign-on behaviors.

callback – Opcional.callback - Optional. Aceita um método de retorno que possa analisar o token de ID de usuário ou usar o token fluxo "em nome de" para obter acesso ao Microsoft Graph.Accepts a callback method that can parse the token for the user's ID or use the token in the "on behalf of" flow to get access to Microsoft Graph. Se AsyncResult .status é "bem-sucedido", em seguida, AsyncResult.value é o v AAD bruto.If AsyncResult.status is "succeeded", then AsyncResult.value is the raw AAD v. token de acesso 2.0 formatado.2.0-formatted access token.

A interface AuthOptions fornece opções para a experiência do usuário quando o Office obtém um token de acesso para o suplemento do AAD v.The AuthOptions interface provides options for the user experience when Office obtains an access token to the add-in from AAD v. 2.0 com o métodogetAccessToken.2.0 with the getAccessToken method.