Laravel学习笔记(24)laravel6 认证与授权(api)

本文介绍了如何在Laravel 6中实现API认证和授权。通过注册和登录过程,生成并验证JSON格式的token。文章讨论了在数据库中添加`api_token`字段、修改认证设置为API模式、创建BaseRequest以处理JSON响应,以及定义返回JSON数据的两种方法。此外,还提及了如何设置token的过期时间以及使用中间件进行过期检查。
摘要由CSDN通过智能技术生成

原文:https://qianjinyike.com/laravel-api-%E8%AE%A4%E8%AF%81/

编写完全为 API 服务的 Laravel 应用,并所有响应都是 JSON 格式时,使用API认证

  1. 原理

注册:用户注册成功后,随机生成长字符串作为 token,原生 token 返回给用户cookie。哈希后的 token 存到数据库里。
登陆:用户使用账号密码登陆成功,随机生成长字符串作为 token,原生 token 返回给用户cookie。哈希后的 token 存到数据库里。
认证:将用户传来的 token 进行哈希,然后去数据库中查找之前存的哈希过的token进行对比 ,相等就认证成功,否则失败

  1. 数据库追加api_token字段并在User模型中添加白名单
$table->string('api_token', 80)->unique()->nullable()->default(null);
  1. 修改 api_token 这个名称
// 如果修改字段名称 api_token,请记得修改配置文件 config/auth.php 中的 storage_key

'api' => [
    'driver' => 'token',
    'provider' => 'users',
    'hash' => false,
    'storage_key' => 'api_token',
],
  1. 修改配置,将默认web认证改为API认证

guard 设置为 api,hash 设置为 true

// config/auth.php

'defaults' => [
    'guard' => 'api',     // 默认 api 认证
    'passwords' => 'users',
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值