Jump to content

Usando a autenticação do Laravel 8 com L2JHasher


Inquisidor

Recommended Posts

Olá pessoal venho aqui apresentar o L2JHasher um pacote para usar de forma nativa a autenticação do Laravel 8 com o l2j.

 

Requisitos:

NodeJS

PHP 7.4+

Composer

Laravel 8.x

Sugestões

VSCode - IDE para programar
CMDER - Prompt de comando

Não irei ensinar como instalar o PHP, Composer e o Laravel, o tutorial vai ser focado no uso do L2JHasher

 

Primeiro vamos criar um novo projeto Laravel com Jetstream

laravel new l2j --jet

image.png.1876e633b22b5f6c81c2ea9d4e92d14e.png

Gosto de usar o livewire

Recomendo um curso gratuito de livewire: CURSO INTRODUÇÃO AO LARAVEL LIVEWIRE

 

image.png.c8c75b61309aa3e0aca97765cf4f2c99.png

Não precisa escolher use teams.

Assim que terminar a instalação vamos rodar o comando do NodeJS para instalar os módulos necessários para o front end.

Entre dentro da pasta do projeto, acabei renomeando de l2jsite para l2j depois que criei o projeto pois o l2j fez mais sentido esse nome para mim.

cd l2j
npm install && npm run dev

image.png.8ffec5186f4dc140b8620d5d83720711.png

image.png.4028403bca37f48fdba0b1f730347bd1.png

 

Após a finalização já temos o projeto criado e o front end do jetstream

 

Vamos agora instalar a L2JHasher

Projeto no GitHub

 

composer require renan-s-oliveira/l2j-hasher

image.png.2e5c9fcecaa84738c79ece16bf1beac7.png

Vá em config/app.php

Comentar Illuminate\Hashing\HashServiceProvider::class e adicionar L2JHasher\ServiceProvider\L2JHashServiceProvider::class,

 

image.thumb.png.0a2bea1296c9f79ee60064a2782d85ca.png

 

Vá em config/fortify.php

 

image.thumb.png.af3cf28148c5f510b1c819a4d3937d93.png

Agora vá até a Model User em app/Models e adicione

protected $table = 'accounts';

public $timestamps = false;

protected $primaryKey = 'login';

image.thumb.png.d5d09e8ea979930bf3bbbb70d11f7cc5.png

 

E adicione em $fillable login

image.thumb.png.f9724c5ec57d9ff69edfdd059fd2c3bd.png

Configure o arquivo .env com os dados do seu banco de dados já instalado com as tabelas do l2j

image.png.de10b485f278cd82ff938bf51a5d3987.png

Em app/Actions/Fortify.php

Adicione em Validator

'login' => ['required', 'string', 'max:255'],

e em return

'login' => $input['login'],

image.thumb.png.a0e648d26b35f3c9cc4743fbe6208e2a.png

 

Vamos agora configurar o registro e login no front

Em resource/views/auth no arquivo register.blade.php

 

<div>
	<x-jet-label for="login" value="{{ __('Login') }}" />
	<x-jet-input id="login" class="block mt-1 w-full" type="text" name="login" :value="old('login')" required autofocus autocomplete="login" />
</div>

image.thumb.png.43557ad2c694f062a11c6dc4807276e3.png

 

Em resource/views/auth no arquivo login.blade.php

Subistituir o email

            <div>
                <x-jet-label for="email" value="{{ __('Email') }}" />
                <x-jet-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus />
            </div>

Por Login 

<div>
	<x-jet-label for="login" value="{{ __('Login') }}" />
	<x-jet-input id="login" class="block mt-1 w-full" type="login" name="login" :value="old('login')" required autofocus />
</div>

image.thumb.png.fea4c8d31016a07215da4a4f2edb9e8d.png

 

php artisan serve para iniciar o servidor.

image.png.df58f71ad9d1475e102bb5c01f9cdac2.png

 

Acessa a rota http://localhost:8000

image.png.026071b03185fc6eb7003c8b970e3a6a.png

Preencha seus dados e clica em register

image.png.bbd96bc57f9074fd28923e53ad8cedaf.png

 

Pronta conta criada e já pode acessar o sistema

image.thumb.png.c4498eb0f7016462089fe3af94699ef3.png

image.thumb.png.6451c2bb8b942bd9c38b3e7f7a5645ad.png

 

Espero que gostem e comecem a usar de vez o Laravel 😄

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

  • Like 2

>>>>Enjoy :)<<<<

 

Link to comment
Share on other sites

  • Inquisidor changed the title to Usando a autenticação do Laravel 8 com L2JHasher

  • L2JBr ADM

O conteúdo que você tá trazendo é 100% continue assim!

O problema é que são conteúdo avançado, nem todo mundo sabe PHP imagine laravel, imagine falar de Hasher, segurança, autenticação de 2 fatores...vish!

Eu curti d+ e aprendi bastante também com seu tópico.

Obrigado

  • Thanks 1

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link to comment
Share on other sites

11 minutes ago, Grundor said:

O conteúdo que você tá trazendo é 100% continue assim!

O problema é que são conteúdo avançado, nem todo mundo sabe PHP imagine laravel, imagine falar de Hasher, segurança, autenticação de 2 fatores...vish!

Eu curti d+ e aprendi bastante também com seu tópico.

Obrigado

Muito obrigado, irei continuar com o conteúdo. E em breve o L2JHasher vai ter uma nova versão adicionando como um novo driver de hashing no Laravel, acredito que devo terminar em umas 2 semanas dependendo dos meus projetos paralelos, para ficar ainda mais fácil usar.

 

A ideia é que quando a L2JFacility e as atualizações  do L2JHasher estiverem prontas, facilitar a vida de quem já programa em PHP usando laravel e vai ser muito fácil lançar novos sistemas sem que precise se preocupar com pequenas coisas. 

E quero que chegue um momento que vão precisar apenas criar os layouts bonitos e criativos em blade, vueJs, livewire etc que o restante será gerenciados pelo L2JFacility e L2JHasher  e qualquer pessoa vai conseguir fazer.

Edited by Inquisidor
  • Like 1

>>>>Enjoy :)<<<<

 

Link to comment
Share on other sites

  • L2JBr ADM

Muito bacana, por enquanto eu to na vibe de desenvolver php puro, sem usar nenhum framework,  programo php à mais de 16 anos e confesso que framework me deixa preguiçoso.

 

Estive olhando o L2jFacility ele realmente é bem parecido com o que eu iniciei com o L2JPHP

https://l2jbrasil.com/topic/126388-l2jphp-one-library-to-rule-them-all/

 

Fico contente de ver pessoas compartilhando trabalhos como esse.

 

Continue 🙂

 

 

 

 

  • I love it 1

EJoOSOj.gif

Sua pergunta foi respondida? Certifique-se de marcar a resposta como a solução aceita.
Se existe mais de uma resposta, utilize o "vote up" para destacá-la.
Se você achar uma resposta útil, diga obrigado clicando no botão "Gostei".

Link to comment
Share on other sites

7 minutes ago, Grundor said:

Muito bacana, por enquanto eu to na vibe de desenvolver php puro, sem usar nenhum framework,  programo php à mais de 16 anos e confesso que framework me deixa preguiçoso.

 

Estive olhando o L2jFacility ele realmente é bem parecido com o que eu iniciei com o L2JPHP

https://l2jbrasil.com/topic/126388-l2jphp-one-library-to-rule-them-all/

 

Fico contente de ver pessoas compartilhando trabalhos como esse.

 

Continue 🙂

 

 

 

 

Muito obrigado o apoio. 

Estou desenvolvendo esses pacotes por que preciso montar um portfólio voltado a Laravel então uni com uma das coisas que mais gostava de antigamente que é Lineage 2 e PHP, tem uma empresa que desejo muito trabalhar que a especialização é em Laravel e VueJs.

 

Se eu não tivesse parado de programar, esse ano iria completar 15 anos programando em PHP, mas durantes uns 13 anos meu foco tinha mudado e voltei meus esforços a resolver problemas Ti então voltei a aprender a pouco tempo kkkk e comecei a ponto a criar meu portfólio.

Todos os códigos estão disponíveis no github se tiver qualquer sugestão, dicas, melhorias no código, lógica etc ficarei muito agradecido. Como eu disse estou voltando a aprender PHP e tenho certeza que tem muita boa prática para aprender.  

>>>>Enjoy :)<<<<

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.