Compartilhar via


Ativar o início de sessão único para a aplicação Teams

O Microsoft Teams fornece uma função de início de sessão único (SSO) para uma aplicação obter o token de utilizador com sessão iniciada no Teams para aceder ao Microsoft Graph e a outras APIs. O Microsoft Teams Toolkit simplifica o processo ao incorporar determinados fluxos de trabalho Microsoft Entra e integrações em APIs simples e de alto nível. Como resultado, pode incorporar facilmente capacidades de SSO na sua aplicação Teams. Para obter mais informações, consulte Autenticar utilizadores no Microsoft Teams.

Configurações de chaves

Para ativar o SSO, configure a aplicação Teams da seguinte forma:

  • Microsoft Entra manifesto da aplicação: certifique-se de que define URIs, incluindo o URI que identifica a aplicação de autenticação Microsoft Entra e o URI de redirecionamento que devolve o token.

  • Manifesto da aplicação Teams: ligue a sua aplicação SSO à sua aplicação Teams ao incorporar a configuração correta.

  • Configuração e ficheiros de infraestrutura do Teams Toolkit: certifique-se de que as configurações necessárias estão implementadas para ativar o SSO para a sua aplicação Teams.

  • Informações da aplicação SSO nos ficheiros de configuração do Teams Toolkit: certifique-se de que a aplicação de autenticação se regista no serviço de back-end e o Teams Toolkit inicia-o durante a depuração ou pré-visualização da aplicação Teams.

Criar Microsoft Entra manifesto da aplicação

  1. Transfira o modelo de manifesto da aplicação Microsoft Entra.

  2. Adicione o código do modelo de manifesto de aplicação transferido ao ./aad.manifest.json ficheiro. Isto permite-lhe personalizar diferentes aspetos do registo de aplicações e atualizar o manifesto conforme necessário. Para obter mais informações, consulte o manifesto do aplicativo.

Atualizar manifesto da aplicação Teams

./appPackages/manifest.json No ficheiro, adicione o seguinte código:

"webApplicationInfo": {
  "id": "${{AAD_APP_CLIENT_ID}}",
  "resource": "api://${{TAB_DOMAIN}}/${{AAD_APP_CLIENT_ID}}"
}

webApplicationInfofornece a sua Microsoft Entra ID da Aplicação e informações do Microsoft Graph para ajudar os utilizadores a iniciar sessão na sua aplicação.

Observação

Pode utilizar para referenciar {{ENV_NAME}} variáveis no env/.env.{TEAMSFX_ENV} ficheiro.

Atualizar ficheiros de configuração do Teams Toolkit

  1. Localize os seus ficheiros de configuração do Teams Toolkit, tais como ./teamsapp.yml e ./teamsapp.local.yml. Atualize as configurações necessárias relacionadas com Microsoft Entra nestes ficheiros.

  2. Adicione a ação aadApp/createprovision em e ./teamsapp.local.yml./teamsapp.yml para criar uma nova aplicação Microsoft Entra utilizada para SSO:

    - uses: aadApp/create
      with:
        name: "YOUR_AAD_APP_NAME"
        generateClientSecret: true
        signInAudience: "AzureADMyOrg"
      writeToEnvironmentFile:
          clientId: AAD_APP_CLIENT_ID
          clientSecret: SECRET_AAD_APP_CLIENT_SECRET
          objectId: AAD_APP_OBJECT_ID
          tenantId: AAD_APP_TENANT_ID
          authority: AAD_APP_OAUTH_AUTHORITY
    

    Observação

    Substitua o name valor pelo nome pretendido para a sua aplicação Teams.

    Para obter mais informações, consulte aadApp/create.

  3. Adicione a ação aadApp/updateprovision em e ./teamsapp.local.yml./teamsapp.yml para atualizar a sua aplicação Microsoft Entra:

    - uses: aadApp/update
      with:
        manifestPath: "./aad.manifest.json"
        outputFilePath: "./build/aad.manifest.${{TEAMSFX_ENV}}.json"
    

    Observação

    • Atualize o manifestPath valor para o caminho relativo do modelo aad.manifest.jsonde manifesto da aplicação Microsoft Entra , se tiver alterado o caminho do ficheiro.
    • Numa configuração local, posicione o aad/update após a ação file/createOrUpdateEnvironmentFile . Isto é necessário porque aad/update utiliza o resultado de file/createOrUpdateEnvironmentFile.

    Para obter mais informações, veja aadApp/update

  4. Para um projeto React, atualize cli/runNpmCommand em deploy.

  5. Se estiver a criar uma aplicação de separador com a estrutura de React na CLI, localize a ação cli/runNpmCommand com build app no teamsapp.yml ficheiro e adicione as seguintes variáveis de ambiente:

    env:
      REACT_APP_CLIENT_ID: ${{AAD_APP_CLIENT_ID}}
      REACT_APP_START_LOGIN_PAGE_URL: ${{TAB_ENDPOINT}}/auth-start.html
    
  6. Se estiver a criar uma aplicação de separador com React arquitetura, localize a ação file/createOrUpdateEnvironmentFile de implementação no teamsapp.local.yml ficheiro e adicione as seguintes variáveis de ambiente:

    envs:
      ...
      REACT_APP_CLIENT_ID: ${{AAD_APP_CLIENT_ID}}
      REACT_APP_START_LOGIN_PAGE_URL: ${{TAB_ENDPOINT}}/auth-start.html
    

Atualizar código fonte

Com as alterações acima implementadas, o seu ambiente está preparado. Agora pode atualizar o código para incorporar o SSO na sua aplicação Teams.

Vanilla JavaScript

Para uma aplicação de separador que não utiliza React, utilize o seguinte código como exemplo básico para obter o token de SSO:

function getSSOToken() {
  return new Promise((resolve, reject) => {
    microsoftTeams.authentication.getAuthToken()
      .then((token) => resolve(token))
      .catch((error) => reject("Error getting token: " + error));
  });
}

function getBasicUserInfo() {
  getSSOToken().then((ssoToken) => {
    const tokenObj = JSON.parse(window.atob(ssoToken.split(".")[1]));
    console.log(`username: ${tokenObj.name}`);
    console.log(`user email: ${tokenObj.preferred_username}`);
  });
}

Reagir

Para React projetos, certifique-se de que as seguintes variáveis de ambiente estão definidas no processo de implementação:

Para atualizar o código fonte, siga estes passos:

  1. Mova os auth-start.html ficheiros e auth-end.html da auth/public pasta para a public/ pasta . Estes ficheiros HTML servem o objetivo de processar redirecionamentos de autenticação.

  2. Mover sso a pasta para baixo auth/ para src/sso/.

    1. InitTeamsFx: este ficheiro executa uma função que inicializa o SDK do TeamsFx. Após a inicialização do SDK, abre o GetUserProfile componente.
    2. GetUserProfile: este ficheiro executa uma função para obter as informações do utilizador ao invocar o microsoft API do Graph.
  3. Importe e adicione InitTeamsFxWelcome.*.

Para obter mais informações, veja Aplicação de separador ativada para SSO.


Depurar seu aplicativo

Para depurar a sua aplicação, selecione a chave F5 . O Teams Toolkit utiliza o manifesto Microsoft Entra para registar uma aplicação com SSO ativado. Para obter mais informações, veja depurar a sua aplicação Teams localmente.

Personalizar aplicações Microsoft Entra

O manifesto de aplicação do Teams permite-lhe personalizar diferentes aspetos do registo de aplicações. Pode atualizar o manifesto conforme necessário.

Para incluir permissões de API adicionais para aceder às APIs pretendidas, veja Editar Microsoft Entra manifesto.

Para ver a sua aplicação Microsoft Entra no portal do Azure, veja Editar Microsoft Entra manifesto.

Próxima etapa