Laravel SAML Single Sign-On (SSO) O plugin oferece a capacidade de habilitar o logon único SAML para seus aplicativos Laravel. Usando o logon único, você pode usar apenas uma senha para acessar seus aplicativos e serviços Laravel. Nosso plugin é compatível com todos os provedores de identidade compatíveis com SAML. Aqui, apresentaremos um guia passo a passo para configurar o logon único (SSO) entre o Laravel e o Azure B2C, considerando o Azure B2C como IdP.
Pré-requisitos: Download e instalação
Etapas para configurar o login único (SSO) do Azure B2C no Laravel
1. Configurar o Azure B2C como Provedor de Identidade
1.1 Registrar aplicativos do Azure B2C
Registre o aplicativo Identity Experience Framework
Registre o aplicativo Identity Experience Framework
- Debaixo Gerenciar, selecione Expor uma API.
- Selecionar Adicionar um escopo, selecione Salvar e continue para aceitar o URI do ID do aplicativo padrão.
- Insira os seguintes valores para criar um escopo que permita a execução de políticas personalizadas no seu locatário do Azure AD B2C:
- Nome do escopo: personificação do usuário
- Nome de exibição do consentimento do administrador: Acesso IdentityExperienceFramework
- Descrição do consentimento do administrador: Permitir que o aplicativo acesse o IdentityExperienceFramework em nome do usuário conectado.
- Selecionar Adicionar escopo
Registre o aplicativo ProxyIdentityExperienceFramework
- Selecionar Registros de aplicativosE, em seguida, selecione Novo registro.
- Para Nome, digite ProxyIdentityExperienceFramework.
- Debaixo Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
- Debaixo URI de redirecionamento, use o menu suspenso para selecionar Cliente público/nativo (móvel e desktop).
- Para URI de redirecionamento, digite myapp://auth.
- Debaixo Permissões, marque a caixa de seleção Conceder consentimento do administrador para permissões openid e offline_access.
- Selecionar Registrar-se.
- Grave o ID do aplicativo (cliente) para uso em uma etapa posterior.
Em seguida, especifique que o aplicativo deve ser tratado como um cliente público
- Debaixo Gerenciar, selecione Autenticação.
- Debaixo Configurações avançadas, habilitar Permitir fluxos de clientes públicos (selecione Sim).
- Selecionar Economize.
Agora, conceda permissões para o escopo da API que você expôs anteriormente no registro do IdentityExperienceFramework
- Debaixo Gerenciar, selecione Permissões de API.
- Debaixo Permissões configuradas, selecione Adicione uma permissão.
- Selecione os Minhas APIs guia e selecione o Estrutura de experiência de identidade aplicação.
- Debaixo Permissão, Selecione o personificação do usuário escopo que você definiu anteriormente.
- Selecionar Adicionar permissões. Conforme as instruções, aguarde alguns minutos antes de prosseguir para a próxima etapa.
- Selecionar Conceder consentimento administrativo para (nome do seu inquilino).
- Selecione sua conta de administrador conectada no momento ou entre com uma conta no seu locatário do Azure AD B2C que tenha recebido pelo menos a função de administrador de aplicativo em nuvem.
- Selecionar Sim.
- Selecionar revisar, e então verifique se "Concedido para ..." aparece em Status para os escopos - offline_access, openid e user_impersonation. Pode levar alguns minutos para que as permissões sejam propagadas.
Registre o aplicativo WordPress
- Selecionar Registros de aplicativosE, em seguida, selecione Novo registro.
- Digite um nome para o aplicativo, como: WordPress.
- Debaixo Tipos de conta suportados, selecione Contas em qualquer diretório organizacional ou provedor de identidade. Para autenticação de usuários com o Azure AD B2C.
- Debaixo URI de redirecionamento, selecione Web e insira o URL do ACS do Metadados do Provedor de Serviços guia do plugin SAML miniOrange.
- Selecionar Registrar-se.
- Debaixo Gerenciar, clique em Expor uma API.
- Clique em Conjunto para o ID do aplicativo URI e clique em Economize, aceitando o valor padrão.
- Depois de salvar, copie o URI do ID do aplicativo e cole-o no ID da Entidade SP / Emissor campo no plugin saml do laravel.
- Clique em Salvar.
1.2 Gerar políticas de SSO
- No nosso portal Azure B2C, navegue até a seção Visão geral do seu locatário B2C e registre o nome do seu locatário.
OBSERVAÇÃO: Se o seu domínio B2C for b2ctest.onmicrosoft.com, o nome do seu locatário será b2ctest.
- Digite seu Nome do locatário do Azure B2C abaixo, juntamente com o ID do aplicativo para IdentityExperienceFramework e
Aplicativos ProxyIdentityExperienceFramework conforme registrados nas etapas acima.
Clique no Gerar políticas do Azure B2C botão para baixar as políticas de SSO.
Extraia o arquivo zip baixado. Ele contém os arquivos de política e o certificado (.pfx), que você precisará nas etapas seguintes.
1.3 Configurar Certificados
OBSERVAÇÃO:
Na etapa seguinte se o 'Estrutura de Experiência de Identidade' Se não for clicável, pode ser que você não tenha uma assinatura ativa do Azure AD B2C para esse locatário. Você pode encontrar os detalhes sobre a assinatura do Azure AD B2C
aqui. e você pode criar um novo inquilino seguindo os passos aqui..
Carregar o certificado
- Entre no Portal do Azure e navegue até seu locatário do Azure AD B2C.
- Debaixo Políticas internas, selecione Estrutura de Experiência de Identidade e depois Chaves de política.
- Selecionar AdicioneE, em seguida, selecione Opções > Upload
- Insira o nome como SamlIdpCert. O prefixo B2C_1A_ será adicionado automaticamente ao nome da sua chave.
- Usando o controle de upload de arquivo, carregue o certificado que foi gerado nas etapas acima, juntamente com as políticas de SSO (tenantname-cert.pfx).
- Digite a senha do certificado como seu nome de locatário e clique em Criar. Por exemplo, se o nome do seu locatário for xyzb2c.onmicrosoft.com, insira a senha como xyzb2c
- Você poderá ver uma nova chave de política com o nome B2C_1A_SamlIdpCert.
Crie a chave de assinatura
- Na página de visão geral do seu locatário do Azure AD B2C, em Políticas internas, selecione Estrutura de Experiência de Identidade.
- Selecionar Chaves de Política e depois selecione Adicione.
- Para Opções, escolha Gerar.
- In Nome, digite TokenSigningKeyContainer.
- Para Tipo de chave, selecione RSA.
- Para Uso da chave, selecione Assinatura.
- Selecionar Criar.
Crie a chave de criptografia
- Na página de visão geral do seu locatário do Azure AD B2C, em Políticas internas, selecione Estrutura de Experiência de Identidade.
- Selecionar Chaves de Política e depois selecione Adicione.
- Para Opções, escolha Gerar.
- In Nome, digite TokenEncryptionKeyContainer.
- Para Tipo de chave, selecione RSA.
- Para Uso da chave, selecione Criptografia.
- Selecionar Criar.
1.4 Carregar as Políticas
- Selecione os Estrutura de Experiência de Identidade item de menu no seu locatário B2C no portal do Azure.
- Selecionar Carregar política personalizada.
- Seguindo a seguinte ordem, carregue os arquivos de política baixados nas etapas acima:
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
- SignUpOrSigninSAML.xml
- Conforme você carrega os arquivos, o Azure adiciona o prefixo B2C_1A_ a cada um.
Você configurou com sucesso o Azure B2C como SAML IdP (Provedor de Identidade) para obter o login único (SSO) do WordPress Azure B2C, garantindo login seguro no site WordPress (WP).
2. Configurar o plugin Laravel SAML como Provedor de Serviços
- Vou ao miniOrange Laravel SAML 2.0 SSO plugin e clique em Escolher Ficheiro botão ao lado do Carregar Meatadata opção.
- Selecione o arquivo de metadados que baixamos do seu IDP e clique em Escolher arquivo botão.
- Clique em Configuração de Teste para testar se a configuração SAML que você fez está correta. Em caso de sucesso na configuração de teste, você obterá os diferentes atributos de usuário retornados pelo seu provedor de identidade em uma tabela de configuração de teste.
3. Opções de SSO
- Seus usuários podem iniciar o fluxo de logon único clicando em Single Sign On botão gerado na sua página de login. Se você ainda não tem esta página, execute php artesão make:auth & php artesão migrar para gerar o módulo de autenticação.
Neste guia, você configurou com sucesso Logon único SAML do Azure B2C (Logon SSO do Azure AD) escolha Azure B2C como IdP e Laravel como SP usando o plugin miniOrange - SAML Single Sign On – Login SSO. Esta solução garante que você esteja pronto para implementar o acesso seguro ao seu site Laravel usando Login do Azure B2C credenciais em minutos.
Recursos adicionais