O plugin Laravel OAuth Single Sign-On (SSO) permite habilitar o Single Sign-On (SSO) via OAuth para suas aplicações Laravel. Com o SSO, você pode usar apenas uma senha para acessar sua aplicação e serviços Laravel. Nosso plugin é compatível com todos os provedores de identidade que atendem aos requisitos do OAuth. Aqui, apresentaremos um guia passo a passo para configurar o SSO entre o Laravel e o AWS Cognito, considerando o AWS Cognito como provedor OAuth. Para saber mais sobre outros recursos que oferecemos no plugin Laravel OAuth client single-sign-on-sso, clique aqui.
Instalação do pacote cliente Laravel Oauth
- 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/oauth-laravel-free
- Após a instalação bem-sucedida do pacote, acesse o aplicativo Laravel no navegador e digite
{laravel-application-domain}/mo_oauth_admin
- 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 miniOrange para configurar o plugin.
- Após o login, você verá o Configurações do provedor OAuth opção, onde você obterá a URL de redirecionamento/retorno de chamada. Mantenha-a em mãos, pois será necessária posteriormente para configurar o plugin SSO do AWS Cognito Single Sign-On.
Etapas para configurar o login único (SSO) do AWS Cognito no Laravel
1. Configure AWS Cognito como provedor OAuth
- Primeiro de tudo, vá para Console Amazon e inscreva-se/faça login na sua conta para configurar o AWS Cognito.
- Procurar por Cognito no Serviços AWS barra de pesquisa, conforme mostrado abaixo.
- Clique em Gerenciar pools de usuários botão para ver a lista de seus pools de usuários.
- Clique em Criar um pool de usuários para criar um novo pool de usuários.
- Adicionar uma Nome da Piscina e clique no Padrões de revisão botão para continuar.
- Role para baixo e clique em “Adicionar cliente de aplicativo” & então clique novamente em Adicionar um cliente de aplicativo.
- Insira um Nome do cliente do aplicativo e clique em Criar cliente de aplicativo para criar um cliente de aplicativo.
- Clique em Voltar para detalhes da piscina para retornar à sua configuração.
- Clique em Criar pool botão para salvar suas configurações e criar um pool de usuários.
- Na barra de navegação presente no lado esquerdo, clique no Configurações do cliente do aplicativo opção sob o Integração de aplicações menu.
- Habilitar provedor de identidade como Grupo de usuários Cognito e digite seu URL de retorno/redirecionamento que você obterá do seu pacote laravel oauth presente em URLs de redirecionamento/retorno de chamada campo de texto. Selecione Concessão de código de autorização caixa de seleção sob o Fluxos OAuth permitidos e também selecionar código aberto e profile caixas de seleção sob o Escopos OAuth permitidos opção (consulte a imagem abaixo). Clique no Salvar alterações botão para salvar suas configurações.
- Clique em Escolha o nome de domínio opção para definir um nome de domínio para seu aplicativo.
- Acesse nome de domínio e insira um nome de domínio para o seu aplicativo. Após adicionar o nome de domínio, você pode verificar sua disponibilidade clicando em "Verificar disponibilidade" botão. Após inserir um nome de domínio válido, clique "Salvar alterações" botão.
- Nome de domínio completo: Copie o nome de domínio completo {seu nome de domínio}.auth.{nome da região}.amazoncognito.com. Você precisa inserir isso no campo de endpoints em no pacote laravel OAuth Single Sign-On (SSO).
- Acesse “Cliente de aplicativo” e clique em “Mostrar detalhes” para obter um ID do cliente e um segredo do cliente. (Mantenha o ID do cliente e o segredo do cliente em mãos, pois você precisará deles mais tarde.)
- Clique em Usuários e grupos opção sob o Configurações gerais menu na barra de navegação do lado esquerdo. Em seguida, clique no Criar usuário botão para adicionar um novo usuário.
- Preencha todos os detalhes necessários e clique em Criar usuário.
- Você pode ver o novo usuário criado.
2. Configurar o plugin Laravel OAuth como cliente OAuth
- Vou ao miniOrange Laravel OAuth SSO pacote e clique em Escolha Cognito como provedor OAuth.
- Introduzir o ID do cliente e Segredo do cliente do AWS Cognito Cliente de aplicativo aba.
- Consulte a tabela abaixo para configurar o Objetivo e Pontos finais ou então depois de selecionar o escopo do Cognito e os Endpoints serão adicionados automaticamente em seus respectivos campos:
| Escopo: |
código aberto |
| Autorizar ponto final: |
https://<cognito-app-domain>/oauth2/authorize |
| Ponto final do token de acesso: |
https://<cognito-app-domain>/oauth2/token |
| Obter endpoint UserInfo: |
https://<cognito-app-domain>/oauth2/userInfo |
- Você pode enviar as credenciais do cliente em cabeçalho e envia estado parâmetro de acordo também entra atributo de login conforme sua exigência.
- Clique em salvar configurações botão. Depois disso, clique em configuração de teste botão. você obterá a lista de nomes de atributos e valores de atributos que são enviados pelo seu provedor OAuth
3. Opções de SSO
- Você também pode usar um link para fazer login por meio do seu provedor OAuth/OpenID.
- Este link está no formato:
{laravel-application-domain}/ssologin.php?option=oauthredirect
4. Suporte / Demonstração
- Suporte e Solicitação de teste/demonstração As guias estão disponíveis para os clientes entrarem em contato para demonstrações e suporte.
Neste guia, você configurou com sucesso o Single Sign-On (SSO) do AWS Cognito usando o Laravel como cliente OAuth. Essa solução garante que você esteja pronto para implementar acesso seguro ao seu site Laravel usando as credenciais de login do AWS Cognito em poucos minutos.
Recursos adicionais