Vantagens de usar o passaporte Laravel:
O protocolo OAuth2 pode ser integrado ao aplicativo Laravel usando a senha do Laravel. Quando o usuário deseja recuperar ou inserir dados do aplicativo, a solicitação de acesso será enviada por este protocolo. A permissão será dada ao usuário, autorizando o usuário para acesso. Alguns grandes benefícios da autenticação de passaporte são mencionados abaixo.
Pré -requisitos:
Você tem que realizar a seguinte tarefa antes de instalar e usar o passaporte do Laravel para autenticação do usuário.
Instale o passaporte Laravel:
Execute o seguinte comando do terminal para instalar o pacote de passaporte Laravel usando o compositor.
$ compositor requer laravel/passaporte
Você precisará para criar o Usuários tabela no banco de dados antes de instalar o pacote de passaporte. Três arquivos de migração e um Do utilizador O modelo foi gerado automaticamente quando um novo projeto de Laravel cria. Um deles é usado para criar um Usuários mesa. Vá para a pasta do projeto Laravel e execute o seguinte comando migrar para criar o Usuários mesa.
$ php artesan migrarExecute o seguinte comando para instalar o pacote de passaporte para o projeto.
$ PHP PASSAPORTE ARTISANO: InstaleVocê receberá as seguintes informações depois de instalar o passaporte do Laravel com sucesso em seu projeto. Aqui, duas chaves secretas são geradas. Um para cliente de acesso pessoal e outro para cliente de concessão de senha.
Configuração do passaporte Laravel:
Abra o Do utilizador modelo que está localizado no local, App \ Model.php de um editor e modifique o modelo como abaixo. Adicionar Laravel \ Passport \ Hasapitokens no início da classe e use hasapitokens e notificável dentro da classe.
App de espaço para nome;Em seguida, aberto App/Provedores/AuthServiceProvider.php Para registrar as rotas necessárias para emitir e revogar os tokens de acesso. Passport :: Rotas O método é chamado dentro do método de inicialização de AuthServiceProvider. Modifique o conteúdo do arquivo mostrado abaixo.
provedores de aplicativos de espaço para nome;Em seguida, aberto Config \ app.php e insira a seguinte linha no provedores Array para incluir a classe necessária para o uso de passaporte de Laravel.
Laravel \ Passport \ PassportServiceProvider :: Classe,Em seguida, aberto Config \ Auth.php e defina o motorista da API para Passaporte no guardas matriz mostrada abaixo.
'Guardas' => [Implementar controlador para registro e autenticação:
Você precisa criar um controlador para implementar o sistema de autenticação usando o pacote de passaporte. Execute o seguinte comando da pasta raiz do projeto para criar Apicontroller.
$ php artesan make: controller apicontrollerNa próxima parte deste tutorial, três métodos são adicionados dentro do Apicontroller Para criar um novo usuário, autentique um usuário e obtenha as informações detalhadas de um usuário autenticado.
A. Registro
Um novo usuário pode ser criado no Usuários tabela implementando um registro() método. Adicione o seguinte código dentro do Apicontroller Para implementar a API Register. Os valores de campo necessários para criar um novo usuário são recuperados pelo argumento, $ solicitação do método registro(). Validador A classe é usada para verificar se os valores do campo são válidos ou não baseados nas regras de validação definidas. Se o falha () O método retorna true, então ele retornará uma mensagem de erro no formato json. Se o falha () O método retorna false, então uma senha de hash gerará e novas informações do usuário serão inseridas na tabela de usuários. Um token será gerado após a criação do novo usuário e uma mensagem de sucesso com valor de token será retornada.
Registro de funções públicas (solicitação $ solicitação)B. Conecte-se:
Qualquer usuário pode ser autenticado implementando o login () método. Adicione o seguinte código dentro Apicontroller Para implementar uma API de login. Os campos necessários para autenticar um usuário são recuperados do $ solicitação de o login () método. tentar() Método verificará os valores de e-mail e senha para a autenticação. Se os valores correspondem aos valores do Usuários Tabela então o registro desse usuário em particular será recuperado e um valor de token será retornado. Se a autenticação falhar, então um Não autorizado Mensagem será devolvida.
Função pública Login (solicitação $ solicitação)C. Detalhes do usuário
Você pode obter as informações detalhadas de qualquer usuário após a autenticação implementando a API do usuário. Adicione o seguinte código ao Apicontroller Para recuperar as informações detalhadas de qualquer usuário autenticado.
função pública user_info ()Rota da API para o controlador:
Abra o rotas \ app.php Arquive e modifique o conteúdo com os seguintes códigos para definir a rota de login, registrar a rota e detalhes da rota para serviços de API.
/** Rota para API de login*/Execute o seguinte comando para iniciar o servidor de desenvolvimento do Laravel.
$ php artesan servirAPI de teste Autenticação usando o Postman:
Postman é uma ferramenta muito útil para testar APIs RESTful. A solicitação HTTP pode ser gerada com muita facilidade para testar as funcionalidades da API usando a interface do usuário deste aplicativo sem escrever uma grande quantidade de código para enviar solicitações. Postman pode lidar com várias solicitações e utilitários HTTP para desenvolver APIs. Tem versões pagas e gratuitas para Linux.
Instale o agente do Postman:
Execute o seguinte comando do terminal para instalar um agente do Postman no Ubuntu.
$ sudo snap install postmanAbra o aplicativo após a instalação. A interface a seguir aparecerá após abrir a nova janela do Postman.
API do registro de teste:
Clique no criar uma solicitação Link para abrir a janela de solicitação. O servidor de desenvolvimento de Laravel é executado na porta 8000 por padrão que é usado aqui. Se você estiver usando uma porta diferente, precisará modificar o número da porta em seu URL. O método post é selecionado a partir do suspensão e o seguinte URL é usado para enviar uma solicitação de API para API do registro.
http: // localhost: 8000/api/registro
Três campos são definidos como campos obrigatórios para o Usuários tabela para criar um novo usuário. Estes são nome, e-mail, e senha. Defina três teclas e valores para esses campos mostrados abaixo e clique em enviar botão. O registro() método de Apicontroller será chamado de acordo com a rota se a solicitação for enviada corretamente.
A resposta a seguir aparecerá se o novo registro do usuário for inserido com sucesso no Usuários mesa. O código de resposta, 200 indica que a solicitação HTTP foi bem -sucedida e um token é gerado após a inserção do novo usuário que é mostrado no corpo de resposta no formato JSON.
API de login de teste:
Selecione os PUBLICAR método como o Registrar API que é mostrado antes. Defina o seguinte URL na barra de endereços para enviar uma solicitação de API para API de login.
http: // localhost: 8000/api/login
Dois campos são obrigatórios para autenticar qualquer usuário com base nos registros do Usuários mesa. Estes são e-mail e senha. Defina duas teclas e valores para esses campos mostrados abaixo e clique no enviar botão. O Conecte-se() método de Apicontroller será chamado de acordo com a rota se a solicitação for enviada corretamente.
A resposta a seguir aparecerá se o usuário for autenticado com sucesso com base nos registros do Usuários mesa. O código de resposta, 200 indica que a solicitação HTTP foi bem -sucedida. O valor do token é gerado após a autenticação do usuário e retorna o corpo de resposta no formato JSON.
Você receberá o seguinte corpo de resposta quando as credenciais erradas forem fornecidas para autenticar o usuário. 401 O código de erro é gerado aqui para indicar acesso não autorizado.
Teste API Detalhes do usuário:
Alguns parâmetros de cabeçalho são necessários para configurar antes de enviar a solicitação de API de detalhes. Clique no cabeçalhos guia da seção de solicitação e adicione três valores do cabeçalho para identificar o usuário autenticado. O valor do token é copiado do corpo de resposta e definido para o valor da autorização.
Aceitar: Aplicação/JSONA seção Cabeçalhos da peça de solicitação será parecida com a seguinte imagem. Você tem que definir seu valor de token que é gerado no corpo de resposta do seu agente do Postman.
Em seguida, clique no Autorização guia da seção de solicitação e selecione Token do portador como tipo de autorização do Tipo suspenso.
Agora, selecione o PUBLICAR Método, defina o seguinte URL na barra de endereço. Vai chamar de informação de usuário() método de Apicontroller que recuperará as informações detalhadas do usuário autenticado.
http: // localhost: 8000/API/DetalhesSe o valor do token e as informações do cabeçalho forem fornecidos corretamente, os detalhes desse usuário serão retornados como um corpo de resposta em formato JSON, como a seguinte imagem.
Vídeo tutorial
Conclusão:
A autenticação de passaporte está usando em muitos sites de Laravel agora para seus recursos úteis. Torna o sistema de autenticação Laravel mais seguro que a autenticação padrão e fornece outros serviços que não estão disponíveis na autenticação padrão. Os usos básicos do passaporte de Laravel com o processo de instalação e configuração são descritos neste tutorial adequadamente. O uso do agente do Postman também é mostrado aqui para testar a API. Espero que o leitor entenda as funcionalidades do pacote de passaporte depois de ler este tutorial.