Foi-me dito que nosso aplicativo PHP pode precisar dar suporte à autenticação usando o ADFS.
Para uma pessoa que não é da Microsoft, o que é o ADFS?
Como isso difere em 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 estão acessíveis na Internet (enquanto os controladores de domínio AD corporativos não seriam)?
Eu tentei ler alguns dos documentos da Technet, mas está cheio de fala da Microsoft que não é muito útil.
A Wikipedia é melhor (veja abaixo), mas talvez uma parte da comunidade ServerFault possa preencher algumas das lacunas.
Os Serviços de Federação do Active Directory (ADFS) são um componente de software desenvolvido pela Microsoft que pode ser instalado nos sistemas operacionais Windows Server para fornecer aos usuários acesso de logon único aos sistemas e aplicativos localizados nos limites da organização. 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 identidades é estabelecida entre duas organizações, estabelecendo a confiança entre duas regiões de segurança. Um servidor de federação de um lado (o lado de Contas) autentica o usuário pelos meios padrão nos Serviços de Domínio Active Directory e emite um token que contém uma série de declarações sobre o usuário, incluindo sua identidade. Por outro lado, no lado Recursos, outro servidor de federação valida o token e emite outro token para os servidores locais aceitarem a identidade reivindicada. Isso permite que um sistema forneça acesso controlado a seus recursos ou serviços a um usuário pertencente 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 do usuário.
Na prática, essa abordagem é normalmente percebida pelo usuário da seguinte maneira:
- O usuário faz login no PC local (como faria normalmente 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 o 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