我正在尝试通过在laravel 5.5中使用md5加密方法从登录用户的用户名检查生成的令牌来执行api-auth,并且不想将令牌保存到用户的表中。当用户注销时,令牌将无效。 URL将如下所示:
我该怎么做?
已添加 - 这是第44届世界技能大赛的测试项目,以下是测试项目文件:
一个。登录(v1 / auth / login)
描述:客户通过用户名和密码获取登录令牌
请求方法:POST
标题:标题授权基本
请求的参数:
o用户名
密码
回应结果:
o标题:响应状态:200
o body:
admand`:授权令牌(在注销前有效)。令牌将由系统从登录的用户名和md5加密方法生成
角色(ADMIN / USER)
o header:响应状态:401
o body:message:登录无效
湾注销(v1 / auth / logout?token = {AUTHORIZATION_TOKEN})
描述:服务器使用户的令牌无效
请求方法:GET
标题:标题授权基本
回应结果:
o标题:响应状态:200
o body:
消息:退出成功数据:
消息:未经授权的用户o回复状态:401
一个。所有地点(v1 / place?token = {AUTHORIZATION_TOKEN})
描述:让客户列出数据库中的所有位置(包括用户的位置) 搜索历史根据频率索引)
请求方法:GET
标题:标题授权基本
回应结果:
身体:
o阵列上的所有数据;由id,名称,纬度,经度,x,y,image_path,描述组成。
o回应状态:200
数据:
消息:未经授权的用户o回复状态:401
...
答案 0 :(得分:1)
您可以创建自己的中间件,并在该中间件内为用户指定角色并使用自己的令牌创建,或者可以将jwt与它一起使用,并且jwt更好地将令牌保存在数据库中
答案 1 :(得分:0)
该项目仅用于竞争 - 我解决了以下问题:
用户通过发送用户名&登录密码到服务器;
如果成功,服务器会将用户名的md5代码保存到会话中并将代码返回给客户端;
客户端将md5代码保存到本地存储中作为令牌,它将通过后续请求发送到服务器;
服务器验证令牌以决定客户端是否可以访问其资源。
就是这样!只是为了竞争,而不是为了生产。
答案 2 :(得分:0)
您可以创建令牌api并为其提供cron作业或会话,此外,您可以执行重置操作,而无需像jwt一样将其保存到数据库中,但是您可以对其进行处理并手动完成