Тёмный
No video :(

Autenticación de APIs con Laravel Sanctum y JSON API AUTH registro de usuarios, login y logout. 

Devscamp
Подписаться 204
Просмотров 1,3 тыс.
50% 1

En este video aprenderás a implementar autenticación para APIs usando Laravel y el paquete JSON API AUTH, agregando:
- Registro de usuarios.
- Login.
- Logout.
- Implementación básica de verificación de email.
Link del paquete: json-api-auth....

Опубликовано:

 

22 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 12   
@amilkardominguez
@amilkardominguez 3 года назад
Uuu... Genial justo lo que estaba buscando muy buen video.
@EnyelberAltube
@EnyelberAltube 3 года назад
Gracias por los videos, estoy utilizándola en una API en Laravel y el front en React JS, pero tengo una pregunta, cuando en el front se actualiza la pagina pues se borra el Request, entonces para que eso no pase y mantenga ese request necesito validar que el token exista en la tabla oauth_access_tokens, el problema es que allí solo guarda el ID del token y la pagina pues tiene el token completo cons su header, como se hace en este caso, existe alguna manera de poder validar el token con la BD?
@arielmejia9680
@arielmejia9680 3 года назад
Hola Enyelber un gustazo! que bueno que estas usando el paquete, te comento en esos casos lo que se suele hacer es guardar en storage el token que retorna de la autenticación y este se agrega en el header o en otra sección de cada request... con esto todos los request están autenticados, Laravel media vez reciba el token sólo necesita usar algo como auth('sactum') o auth('api') para passport, recuerda que las APIs son stateless así que el server no necesita saber o guardar un estado de ningún usuario. No debiera nunca guardarse el token directamente en la base de datos, si estas usando Oauth (passport), si usas Sanctum no hay problema, lo puedes ver en la tabla de tokens, podrías validarlo, pero no recomiendo esto ya que Laravel ya tiene un mecanismo para manejar esto internamente con sus guards, existe alguna razón para no guardar y enviar el token? Estos tokens son seguros y requieren llave privada y pública tanto para sanctum como para passport. Me comentas si en algo puedo apoyarte y saludos!
@angelrafaelcayhuallamorale6776
@angelrafaelcayhuallamorale6776 3 года назад
Genial video estimado, pero no sé porque las validaciones no me funcionan. Todo funciona ok, pero las validaciones (al momento de registrar campos vacíos y eso) no funcionan. Tienes alguna idea?. Saludos.
@arielmejia9680
@arielmejia9680 3 года назад
Todo el código se publica en tu app en app/Http/Controllers/JsonApiAuth, sientete libre de modificar como desees los form request para agregar mas validaciones.
@MrGamerloko3
@MrGamerloko3 3 года назад
Pudiste solucionarlo ?
@arielmejia9680
@arielmejia9680 3 года назад
@@MrGamerloko3 estas usando el paquete? yo soy el autor del paquete si tienes dudas te respondo por aquí
@MrGamerloko3
@MrGamerloko3 3 года назад
@@arielmejia9680un gusto conocerte, muy buen aporte, si tenia inconvenientes con las reglas de validación puesto que si funcionan pero no regresaban algun msj de que no se cumplía pero ya le agrege mis msj personalisados en el request y todo bien, me ahorraste bastante tiempo, gracias y saludos!
@arielmejia9680
@arielmejia9680 3 года назад
@@MrGamerloko3 los mensajes de validación retornan automaticamente en Laravel cuando agregas a tus peticiones de tipo JSON el header Accept-type/ de tipo json y Content-type Json también
@vicandres24
@vicandres24 2 года назад
alguien ha obtenido estos errores?.... me sale nada mas intento probar la primera api en el minuto 2:40 { "message": "", "exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException", "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\AbstractRouteCollection.php", "line": 43, "trace": [ { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\RouteCollection.php", "line": 162, "function": "handleMatchedRoute", "class": "Illuminate\\Routing\\AbstractRouteCollection", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php", "line": 647, "function": "match", "class": "Illuminate\\Routing\\RouteCollection", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php", "line": 636, "function": "findRoute", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php", "line": 625, "function": "dispatchToRoute", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php", "line": 166, "function": "dispatch", "class": "Illuminate\\Routing\\Router", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 128, "function": "Illuminate\\Foundation\\Http\\{closure}", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php", "line": 21, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php", "line": 31, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 167, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php", "line": 21, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php", "line": 40, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 167, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php", "line": 27, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 167, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php", "line": 86, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 167, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\fruitcake\\laravel-cors\\src\\HandleCors.php", "line": 38, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 167, "function": "handle", "class": "Fruitcake\\Cors\\HandleCors", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\TrustProxies.php", "line": 39, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 167, "function": "handle", "class": "Illuminate\\Http\\Middleware\\TrustProxies", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php", "line": 103, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php", "line": 141, "function": "then", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php", "line": 110, "function": "sendRequestThroughRouter", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\public\\index.php", "line": 52, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Kernel", "type": "->" }, { "file": "C:\\xampp\\htdocs\\AdminApp-server\\server.php", "line": 21, "function": "require_once" } ] }
@arielmejia9680
@arielmejia9680 2 года назад
I will check thanks for the comment, in the future you can report an issue in Github like an issue
Далее
PEDRO PEDRO INSIDEOUT
00:10
Просмотров 2,4 млн
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Usando el Google Pixel 9 Pro en la vida real - Review
25:05
Getting started with Laravel Fortify and Sanctum
19:35
Laravel - API Auth - SANCTUM
32:30
Просмотров 18 тыс.
PEDRO PEDRO INSIDEOUT
00:10
Просмотров 2,4 млн