Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Muitos provedores de identidade, além da plataforma de identidade da Microsoft, podem trabalhar com seu suplemento. Esses provedores permitem que os usuários concedam a um Suplemento do Office acesso às contas deles em outros serviços.
A estrutura padrão do setor para habilitar o acesso de aplicativos Web a um serviço online é OAuth 2.0. Na maioria das situações, você não precisa saber os detalhes de como a estrutura funciona para usá-la no seu suplemento. Estão disponíveis muitas bibliotecas que simplificam os detalhes para você.
Uma ideia fundamental do OAuth é que um aplicativo pode ser uma entidade de segurança por si só, assim como um usuário ou um grupo, com sua própria identidade e conjunto de permissões. Em um fluxo típico, um usuário executa uma ação no suplemento que requer outro serviço. O suplemento solicita um conjunto específico de permissões para a conta desse usuário. Em seguida, o serviço solicita que o usuário conceda essas permissões.
Depois que a permissão é concedida, o serviço envia ao suplemento um token de acesso codificado. O suplemento inclui o token em solicitações para as APIs do serviço. O token concede apenas as permissões aprovadas pelo usuário e expira após um período especificado.
Escolha um fluxo OAuth 2.0
Vários padrões OAuth, chamados de fluxos ou tipos de concessão, foram projetados para diferentes cenários. Os dois padrões a seguir são os mais comumente implementados.
- Fluxo Implícito: a comunicação entre o suplemento e o serviço online é implementada com um JavaScript no lado do cliente. Esse fluxo costuma ser usado em aplicativos página única (SPAs).
- Fluxo de Código de Autorização: A comunicação é de servidor para servidor entre o aplicativo Web do seu suplemento e o serviço online. Portanto, a implementação é feita com código no lado do servidor.
A finalidade de um fluxo OAuth é garantir a identidade e autorização do aplicativo. No fluxo do Código de Autorização, o provedor de identidade emite um segredo do cliente que deve permanecer confidencial. Um aplicativo que não tem back-end do lado do servidor, como um SPA, não pode armazenar esse segredo com segurança, portanto, recomendamos o fluxo implícito para SPAs.
Você deve estar familiarizado com os prós e os contras do fluxo implícito e o fluxo do código de autorização. Para obter mais informações sobre esses dois fluxos, consulte Código de Autorização e Implícito.
Observação
Você também tem a opção de usar um serviço intermediário para executar a autorização e passar o token de acesso ao seu suplemento. Para obter detalhes sobre esse cenário, consulte a seção Serviços intermediários mais adiante neste artigo.
Usar o fluxo Implícito em Suplementos do Office
Verifique a documentação do provedor de identidade para confirmar se ele dá suporte ao fluxo implícito.
Para obter informações sobre outras bibliotecas que suportam o fluxo implícito, consulte a seção Bibliotecas mais adiante neste artigo.
Usar o fluxo do Código de Autorização nos Suplementos do Office
Muitas bibliotecas estão disponíveis para implementar o fluxo de Código de Autorização em várias linguagens e estruturas. Para ver alguns exemplos, consulte a seção Bibliotecas mais adiante neste artigo.
Bibliotecas
As bibliotecas estão disponíveis para vários idiomas e plataformas, tanto para o fluxo implícito quanto para o fluxo do Código de Autorização. Algumas bibliotecas são de propósito geral, enquanto outras são para serviços online específicos.
- Facebook: Pesquise "library" ou "sdk" no Facebook para Desenvolvedores.
- OAuth Geral 2.0: O Grupo de Trabalho OAuth do IETF mantém o OAuth Code, uma página de links de bibliotecas para mais de uma dúzia de idiomas. Algumas dessas bibliotecas são para implementar um serviço compatível com OAuth. Para um Suplemento do Office, procure bibliotecas de clientes , pois seu servidor Web é um cliente do serviço compatível com OAuth.
Serviços intermediários
Seu suplemento pode usar um serviço intermediário, como OAuth.io ou Auth0 , para executar a autorização. Um serviço intermediário pode fornecer tokens de acesso para serviços online populares, simplificar a entrada social para seu suplemento ou ambos. Seu suplemento pode se conectar ao serviço intermediário com script do lado do cliente ou código do lado do servidor, e o serviço intermediário retorna todos os tokens necessários para o serviço online.
Recomendamos que a interface do usuário para autenticação e autorização em seu suplemento use a API da caixa de diálogo do Office para abrir uma página de entrada. Para obter mais informações, consulte Autenticar e autorizar com a API de caixa de diálogo do Office.
Quando você abre uma caixa de diálogo do Office dessa maneira, a caixa de diálogo é executada em um navegador separado e na instância do mecanismo JavaScript da página pai, como o painel de tarefas ou o arquivo de função do suplemento. Um token e qualquer outra informação que possa ser convertida em uma cadeia de caracteres é passada de volta para o pai usando messageParent. Página pai, em seguida, pode usar o token para fazer chamadas autorizadas ao recurso.
Devido a essa arquitetura, tenha cuidado ao usar APIs de um serviço intermediário. Alguns serviços fornecem um conjunto de APIs no qual o código cria um objeto de contexto que obtém um token e usa esse token em chamadas posteriores para o recurso. Alguns serviços até usam um único método de API que faz a chamada inicial e cria o objeto de contexto. Um objeto como esse não pode ser totalmente stringificado, portanto, não pode ser passado da caixa de diálogo do Office para a página pai.
Os serviços intermediários normalmente também fornecem um segundo conjunto de APIs em um nível inferior de abstração, como uma API REST. Esse conjunto de APIs de nível inferior geralmente inclui uma API que obtém um token do serviço e outras APIs que passam o token de volta para o serviço ao solicitar acesso ao recurso. Use esse conjunto de APIs de nível inferior para que a caixa de diálogo do Office possa obter o token e passá-lo para a página pai usando messageParent.
O que é CORS?
CORS significa Cross-Origin Resource Sharing. Para obter informações sobre como usar CORS em suplementos, consulte Abordando as limitações da política de mesma origem em suplementos do Office.