Então me disseram que nosso aplicativo PHP pode precisar dar suporte à autenticação usando ADFS.
Para uma pessoa que não é da Microsoft, o que é ADFS?
Como ele difere de coisas como LDAP?
Como funciona? Que tipo de informação seria incluída em uma solicitação típica para um servidor ADFS? Ele foi projetado para autenticação e autorização?
Os servidores ADFS normalmente são acessíveis pela Internet (ao passo que os controladores de domínio AD corporativos não seriam)?
Eu tentei ler alguns dos documentos do Technet, mas está cheio de linguagem da Microsoft que não é muito útil.
A Wikipedia é melhor (veja abaixo), mas talvez alguns membros da comunidade ServerFault possam preencher algumas das lacunas.
O Active Directory Federation Services (ADFS) é um componente de software desenvolvido pela Microsoft que pode ser instalado em sistemas operacionais Windows Server para fornecer aos usuários acesso de logon único a sistemas e aplicativos localizados além dos limites organizacionais. Ele usa um modelo de autorização de controle de acesso baseado em declarações para manter a segurança do aplicativo e implementar a identidade federada.
A autenticação baseada em declarações é o processo de autenticação de um usuário com base em um conjunto de declarações sobre sua identidade contida em um token confiável.
No ADFS, a federação de identidade é estabelecida entre duas organizações estabelecendo confiança entre dois domínios de segurança. Um servidor de federação de um lado (o lado das Contas) autentica o usuário pelos meios padrão nos Serviços de Domínio Active Directory e, em seguida, emite um token contendo uma série de declarações sobre o usuário, incluindo sua identidade. Por outro lado, do lado de Recursos, outro servidor de federação valida o token e emite outro token para que os servidores locais aceitem a identidade reivindicada. Isso permite que um sistema forneça acesso controlado a seus recursos ou serviços a um usuário que pertença a outro domínio de segurança sem exigir que o usuário se autentique diretamente no sistema e sem que os dois sistemas compartilhem um banco de dados de identidades ou senhas de usuários.
Na prática, esta abordagem é tipicamente percebida pelo usuário da seguinte forma:
- O usuário faz login em seu PC local (como normalmente faria ao iniciar o trabalho pela manhã)
- O usuário precisa obter informações no site da extranet de uma empresa parceira - por exemplo, para obter preços ou detalhes do produto
- O usuário navega para o site da extranet da empresa parceira - por exemplo: http://example.com
- O site do parceiro agora não exige que nenhuma senha seja digitada - em vez disso, as credenciais do usuário são passadas para o site da extranet do parceiro usando AD FS
- O usuário agora está logado no site do parceiro e pode interagir com o site 'logado'
De https://en.wikipedia.org/wiki/Active_Directory_Federation_Services