Cenários de troca de tokens da plataforma de identidade da Microsoft com o SAML e o OIDC/OAuth
O SAML e o OpenID Connect (OIDC)/OAuth são protocolos populares usados para implementar o logon único (SSO). Alguns aplicativos podem implementar apenas SAML e outros podem implementar apenas OIDC/OAuth. Ambos os protocolos usam tokens para comunicar segredos. Para saber mais sobre o SAML, consulte Protocolo SAML de logon único. Para saber mais sobre o OIDC/OAuth, confira Protocolos OAuth 2.0 e OpenID Connect na plataforma de identidade da Microsoft.
Este artigo descreve um cenário comum em que um aplicativo implementa SAML, mas chama a API do Graph, que usa o OIDC/OAuth. São fornecidas diretrizes básicas para pessoas que trabalham com esse cenário.
Cenário: você tem um token SAML e deseja chamar a API do Graph
Muitos aplicativos são implementados com o SAML. No entanto, a API do Graph usa os protocolos OIDC/OAuth. É possível, embora não seja algo rotineiro, adicionar a funcionalidade OIDC/OAuth a um aplicativo SAML. Depois que a funcionalidade do OAuth estiver disponível em um aplicativo, a API do Graph poderá ser usada.
A estratégia geral é adicionar a pilha do OIDC/OAuth ao seu aplicativo. No caso de um aplicativo que implementa os dois padrões, você pode usar um cookie de sessão. Você não está trocando um token explicitamente. Você está registrando um usuário no SAML, o que gera um cookie de sessão. Quando a API do Graph invocar um fluxo OAuth, você usará o cookie de sessão para autenticar. Essa estratégia pressupõe que as verificações de acesso condicional passam, e que o usuário está autorizado.
Observação
A biblioteca recomendada para adicionar o comportamento OIDC/OAuth é a Biblioteca de Autenticação da Microsoft (MSAL).