
Temos o Microsoft Active Directory Federation Services (ADFS) como nosso provedor de autenticação/federação. Nós o usamos para realizar federação de identidade via SAML para vários fornecedores externos, provedores de SaaS, etc. Além disso, temos vários fornecedores que oferecem suporte apenas a OAuth, portanto, configuramos integrações com esses fornecedores usando o suporte OAuth do ADFS 2016. Dessa forma, podemos gerar asserções SAML e tokens de acesso OAuth, conforme necessário.
Agora nos deparamos com uma situação em que o Fornecedor A (configurado para autenticação SAML) precisa fazer uma chamada de serviço RESTful para o Fornecedor B (configurado para exigir tokens OAuth). Existe uma maneira de converter uma asserção SAML gerada pelo ADFS em um token OAuth gerado pelo ADFS? Dado que ambas as credenciais são geradas pelo ADFS, acho que o ADFS teria uma maneira de realizar a conversão. Existe um endpoint onde eu possa POST uma asserção SAML e recuperar o token OAuth em troca? Qualquer ajuda seria muito apreciada!!
Responder1
Embora eu não possa responder sobre ADFS e Oauth, posso fornecer alguma experiência em relação à integração de dois sistemas SSO diferentes baseados na Web, o que pode lhe dar algo em que pensar.
Na minha situação, eu queria obter um IdP Shibboleth (mesma função do ADFS com SAML 2.0) para usar um sistema SSO proprietário existente.
O que fiz foi configurar meu IdP para usar autenticação 'externa'; nesse caso, fiz com que o sistema SSO proprietário guardasse apenas a URL de autenticação externa; para que, quando as pessoas fizessem login, acessassem o URL de autenticação externa --- e trabalhassem por meio de outro sistema SSO --- e depois voltassem em um estado autenticado para passar pelo URL de autenticação externa para o IdP, que então lhes concederia uma sessão.
Isso ilustra que você realmente não 'converte' um sistema para outro, mas pode elevar um para o outro usando autenticação externa.
Uma palavra de advertência: o logout se torna um problema maior. Tive que personalizar os modelos de SLO que acompanham o IdP para integrar também o sistema de logout de outros sistemas.... O ADFS não será tão flexível.
Felicidades, Cameron