Laravel auth由生成的令牌,没有护照和jwt

时间:2017-12-14 10:41:30

标签: php laravel api authentication token

我正在尝试通过在laravel 5.5中使用md5加密方法从登录用户的用户名检查生成的令牌来执行api-auth,并且不想将令牌保存到用户的表中。当用户注销时,令牌将无效。 URL将如下所示:

  

http://myserver.com/products?token= ......

我该怎么做?

已添加 - 这是第44届世界技能大赛的测试项目,以下是测试项目文件:

  1. 身份验证
  2. 一个。登录(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

    1. 放置
    2. 一个。所有地点(v1 / place?token = {AUTHORIZATION_TOKEN})

      描述:让客户列出数据库中的所有位置(包括用户的位置) 搜索历史根据频率索引)

      请求方法:GET

      标题:标题授权基本

      回应结果:

      身体:

      o阵列上的所有数据;由id,名称,纬度,经度,x,y,image_path,描述组成。

      o回应状态:200

      • 如果未经授权的用户访问它,

      数据:

      消息:未经授权的用户

      o回复状态:401

      ...

3 个答案:

答案 0 :(得分:1)

您可以创建自己的中间件,并在该中间件内为用户指定角色并使用自己的令牌创建,或者可以将jwt与它一起使用,并且jwt更好地将令牌保存在数据库中

答案 1 :(得分:0)

该项目仅用于竞争 - 我解决了以下问题:

  1. 用户通过发送用户名&登录密码到服务器;

  2. 如果成功,服务器会将用户名的md5代码保存到会话中并将代码返回给客户端;

  3. 客户端将md5代码保存到本地存储中作为令牌,它将通过后续请求发送到服务器;

  4. 服务器验证令牌以决定客户端是否可以访问其资源。

  5. 就是这样!只是为了竞争,而不是为了生产。

答案 2 :(得分:0)

您可以创建令牌api并为其提供cron作业或会话,此外,您可以执行重置操作,而无需像jwt一样将其保存到数据库中,但是您可以对其进行处理并手动完成