Procurar Resultados :

×

SAML Single Sign-On (SSO) para Laravel usando Azure B2C como IDP


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

  • Abra uma janela de prompt de comando e altere o diretório de trabalho para o seu Diretório principal do aplicativo Laravel.
  • Digite o comando abaixo.
    composer require miniorange/saml-laravel-free
  • Laravel Single Sign On SSO entrar em commond
  • Observação: Se você estiver usando o Laravel 5.4 ou anterior, será necessário adicionar o seguinte valor ao 'fornecedores' matriz em seu app. php arquivo que pode ser encontrado no projeto\config pasta :provedor\ssoServiceProvider::class (Você pode verificar sua versão atual do Laravel usando o comando php artisan --versão.)

  • Laravel Single Sign On SSO adiciona o seguinte valor
  • Após a instalação bem-sucedida do pacote, acesse o aplicativo Laravel no navegador e digite https://<your-host>/mo_admin na barra de endereços.
  • O pacote começará a configurar seu banco de dados e então o redirecionará para a página de registro do administrador.
  • Registre-se ou faça login com sua conta clicando em Registrar-se botão para configurar o plugin.
  • Configurações do plugin SSO de logon único do Laravel
  • Após o login, você verá o Configurações do provedor de serviços opção, onde você obterá os metadados do provedor de serviços. Mantenha os metadados em mãos, pois serão necessários posteriormente para configurar step 1.
  • Configurações do provedor de serviços SSO do Laravel Single Sign On

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

    mini laranja img Registre o aplicativo Identity Experience Framework
    • Efetue login no Portal do Azure B2C
    • No locatário do Azure AD B2C, selecione Registros de aplicativose, em seguida, selecione Novo registro.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no portal Laravel
    • Para Nome, digite IdentityExperienceFramework.
    • Debaixo Tipos de conta suportados, selecione Contas somente neste diretório organizacional.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Registrar um aplicativo
    • Debaixo URI de redirecionamento, selecione Web e insira https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com, onde your-tenant-name é o nome de domínio do seu locatário do Azure AD B2C.
    • OBSERVAÇÃO:

      Na etapa seguinte se o 'Permissões' Se a seção não estiver visível, pode ser que você não tenha uma assinatura ativa do AzureAD B2C para esse locatário. Você pode encontrar os detalhes sobre a assinatura do AzureAD B2C aqui. e você pode criar um novo inquilino seguindo os passos aqui..


    • Debaixo Permissões, marque a caixa de seleção Conceder consentimento do administrador para permissões openid e offline_access.
    • Selecionar Registrar-se.
    • SSO do Azure B2C Laravel - Login de Logon Único (SSO) do Azure no Laravel - URL de redirecionamento
    • Grave o ID do aplicativo (cliente) para uso em uma etapa posterior.
    • SSO do Azure B2C Laravel - Login de Logon Único (SSO) do Azure no Laravel - ID do Cliente do Aplicativo
    mini laranja img 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.
    • SSO do Azure B2C Laravel - Login de logon único (SSO) do Azure no Laravel - Expor uma API
    • 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:
      1. Nome do escopo: personificação do usuário
      2. Nome de exibição do consentimento do administrador: Acesso IdentityExperienceFramework
      3. Descrição do consentimento do administrador: Permitir que o aplicativo acesse o IdentityExperienceFramework em nome do usuário conectado.
    • Selecionar Adicionar escopo
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - escopos personalizados
    mini laranja img 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.
    • SSO do Azure B2C Laravel - Login de Logon Único (SSO) do Azure no Laravel - Diretório Original
    • 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Registrar
    • Grave o ID do aplicativo (cliente) para uso em uma etapa posterior.
    • Azure B2C WordPress SSO - Login de logon único (SSO) do Azure no WordPress - proxy de aplicativo
    mini laranja img 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - autenticação de proxy
    mini laranja img 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - autenticação
    • Selecione os Minhas APIs guia e selecione o Estrutura de experiência de identidade aplicação.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Permissões de API
    • 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Minhas APIs
    • Selecionar Conceder consentimento administrativo para (nome do seu inquilino).
    • Azure B2C LaravelSSO - Login de Logon Único (SSO) do Azure no Laravel - Administrador de Concessões
    • 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.
    • Azure B2C LaravelSSO - Login de logon único (SSO) do Azure no Laravel - B2C, status e acesso de administrador
    mini laranja img 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.
    • SSO do Azure B2C Laravel - Login de logon único (SSO) do Azure no Laravel - Tipos de conta com suporte
    • 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Registro de aplicativo
    • 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.
    • SAML Single Sign-On (SSO) usando Azure B2C como Provedor de Identidade (IdP), para SAML 2.0 Azure B2C, WP-app Expor um login sso
    • 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.
    • SSO do Azure B2C Laravel - Login de logon único (SSO) do Azure no Laravel - Reconhecimento de ID do locatário B2C
    • 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.

    • Nome do locatário do Azure B2C:
      ID do aplicativo IdentityExperienceFramework:
      ID do aplicativo ProxyIdentityExperienceFramework:


    • 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..

    mini laranja img Carregar o certificado
    • Entre no Portal do Azure e navegue até seu locatário do Azure AD B2C.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no framework Laravel
    • Debaixo Políticas internas, selecione Estrutura de Experiência de Identidade e depois Chaves de política.
    • SSO do Azure B2C Laravel - Login de logon único (SSO) do Azure no Laravel - 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Criar uma 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.
    mini laranja img 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Criar a chave de assinatura
    • Selecionar Criar.
    mini laranja img 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - Crie a chave de 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.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no WordPress - Carregar as políticas
    • Selecionar Carregar política personalizada.
    • Azure B2C Laravel SSO - Login de logon único (SSO) do Azure no Laravel - estrutura de experiência de identidade
    • 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.
  • Configurações do provedor de identidade SSO do Laravel Single Sign On
  • 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.
  • Configuração de teste de logon único SSO do Laravel Resultado do teste SSO de logon único do Laravel

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.

  • Botão de logon único SSO do Laravel

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

Olá!

Preciso de ajuda? Estamos bem aqui!

ajuda