Autenticação da chave de API
A autenticação da chave de API é um método utilizado para autenticar o acesso à sua aplicação de extensão de mensagens com uma API. Envolve a utilização de uma chave de API exclusiva, que é transmitida com cada pedido da API para verificar a identidade do utilizador ou da aplicação que iniciou o pedido. A chave de API tem de estar registada no Microsoft Teams e, quando um utilizador interage com a sua extensão de mensagem, o Teams utiliza o segredo para autenticar com a sua API.
As seguintes propriedades de registo de chave de API ajudam-no a proteger a sua chave e a garantir que está limitada à sua aplicação:
- URL base: o Teams transmite o segredo para pontos finais de URL que começam com o valor neste campo.
- Inquilino de Destino: para limitar o acesso da API ao seu inquilino do Microsoft 365 ou a qualquer inquilino.
- ID da Aplicação: para limitar o acesso da chave a uma aplicação específica ou a qualquer aplicação.
- Chave de API: para autenticar o acesso à sua aplicação.
Pode registar uma chave de API através do Portal do Programador do Teams e gerar um ID de registo de chave de API.
Atualize o manifesto da aplicação com o apiSecretServiceAuthConfiguration
objeto com uma apiSecretRegistrationId
propriedade. Esta propriedade tem de conter o ID de registo da chave de API devolvido quando submeteu a chave de API através do Portal do Programador para Teams.
Observação
Tem de garantir que protege o ID de registo da chave de API, uma vez que pode ser obtido a partir do manifesto da aplicação Teams. Para obter mais informações sobre como proteger a chave de API, veja melhores práticas.
Quando um pedido de API é iniciado, o sistema obtém a chave de API a partir de uma base de dados encriptada e inclui-a no cabeçalho de autorização, utilizando o esquema de token de portador. O sistema envia o cabeçalho de autorização com a chave de API para o ponto final definido no manifesto da aplicação.
O exemplo seguinte mostra o payload com o cabeçalho de autorização com o esquema de token de portador:
GET https://example.com/search?myQuery=test
Accept-Language: en-US
Authorization: Bearer <MY_API_KEY>
Registar uma chave de API
Para registar uma chave de API, siga estes passos:
Aceda a Ferramentas>Registo de chave de API.
Selecione + Nova chave de API.
Na página registo da chave de API , selecione + Adicionar Segredo. É apresentada a caixa de diálogo Adicionar uma chave de API .
Introduza um valor para a chave e selecione Guardar.
Observação
Pode manter até duas chaves de API. Se precisar de substituir uma, pode fazê-lo sem interrupção do serviço, uma vez que o Teams utiliza a outra chave configurada durante o processo de atualização.
Em Nome da chave de API, adicione um nome significativo para a Chave de API. Por exemplo, a chave de API para a extensão de mensagens da Contoso.
Em URL base, especifique um URL base comum para todos os pontos finais da API que têm de ser chamados. Este URL tem de começar com https, incluir um nome de domínio completamente qualificado e, opcionalmente, um caminho. O Teams transmite a chave para o ponto final de URL que começa com o valor neste campo. Por exemplo,
https://api.yelp.com
.O URL base garante que a chave permanece segura e não é divulgada para pontos finais aleatórios, mesmo que outra aplicação adquira ilicitamente o ID de registo da chave de API e a incorpore na sua própria aplicação. Se o URL registado na configuração da chave de API não for um prefixo para os pontos finais de destino definidos na especificação OpenAPI, a chamada é removida.
Em Inquilino de destino, selecione uma das seguintes opções:
- Inquilino principal: a chave de API só está funcional no inquilino onde está registada.
- Qualquer inquilino: a chave de API é utilizável em qualquer inquilino.
Em Aplicação De destino do Teams, selecione uma das seguintes opções:
- Aplicação Teams existente: a opção da aplicação Teams existente vincula o ID de registo da chave de API à sua aplicação específica do Teams.
- Qualquer aplicação do Teams: a chave de API pode ser utilizada com qualquer aplicação do Teams.
É gerado um ID de registo da chave de API .
No Portal do programador do Teams, selecione Aplicações e selecione uma aplicação onde pretende adicionar a chave de API.
Aceda a Funcionalidades >da aplicaçãoExtensão de mensagem.
Em Autenticação, selecione Chave de API e adicione o ID de registo da chave de API.
Selecione Salvar.
O ID de registo da chave de API é atualizado como o valor da apiSecretRegistrationId
propriedade no manifesto da aplicação. Pode verificar o ID de registo da chave de API no manifesto da aplicação no Portal do Programador do Teams.
Atualizar manifesto do aplicativo
Adicione um apiSecretServiceAuthConfiguration
objeto com uma apiSecretRegistrationId
propriedade, que contém o ID de referência quando submete a chave de API através do Portal do Programador para Teams. Para obter mais informações, consulte composeExtensions.commands.
"composeExtensions": [
{
"composeExtensionType": "apiBased",
"authorization": {
"authType": "apiSecretServiceAuth",
"apiSecretServiceAuthConfiguration": {
"apiSecretRegistrationId": "9xxxxb0f-xxxx-40cc-xxxx-15xxxxxxxxx3"
}
},
Práticas recomendadas
Chave de API:
- A chave de API tem de ter, pelo menos, 10 carateres e, no máximo, 128 carateres.
- Depois de atualizar a chave de API, a chave demora até uma hora a refletir em todo o sistema.
URL base:
- O URL base tem de começar por
https
para garantir uma comunicação segura. - Tem de incluir o nome completo do anfitrião para especificar o domínio exato.
- Pode adicionar um caminho opcional para definir um ponto de entrada específico para a API.
Esta estrutura é crucial para a segurança das suas chaves de API, uma vez que o Teams envia a chave de API para pontos finais que começam com o URL Base especificado.
- O URL base tem de começar por
Inquilino de destino: à medida que desenvolve a sua aplicação no seu inquilino do Microsoft 365, irá testá-la inicialmente como uma aplicação personalizada criada para a sua organização (aplicação LOB) ou aplicação personalizada. Durante esta fase, tem de registar a chave de API no seu inquilino Home Page como o inquilino de destino para garantir que a chave permanece exclusiva do seu inquilino.
Depois de concluir os testes e estar pronto para submeter o manifesto da aplicação para o Centro de Parceiros da Loja Teams, terá de mudar a definição de inquilino de destino para Qualquer inquilino. Esta alteração permite que o ID de registo da chave de API seja utilizado em vários inquilinos assim que a sua aplicação estiver disponível na Loja Teams.
ID da aplicação teams: à medida que desenvolve a sua aplicação no seu inquilino do Microsoft 365 e começa a testá-la como uma aplicação personalizada criada para a sua organização (LOB) ou aplicação personalizada, tem de definir o ID de registo da chave de API com o ID da aplicação Teams como qualquer aplicação do Teams. Esta configuração permite que a chave seja utilizada com qualquer aplicação do Teams carregada como uma aplicação personalizada e aplicações personalizadas criadas para a sua organização (aplicações LOB) para gerar IDs após serem carregados. Não terá o ID da aplicação nesta fase.
A segurança da sua chave continua a ser mantida através do Inquilino Principal e do URL Base. Quando estiver pronto para lançar a sua aplicação para o mundo, tem de alterar a definição ID da aplicação Teams para a aplicação Teams existente e introduzir o ID da aplicação Teams. Por fim, submeta o manifesto da aplicação para o Centro de Parceiros para inclusão na Loja Teams. O registo da chave de API está agora associado à sua aplicação específica do Teams e não pode ser utilizado com outras pessoas.