【问题标题】:Token based simple authentication in Laravel (No passport)Laravel 中基于令牌的简单身份验证(无护照)
【发布时间】:2020-04-13 03:53:04
【问题描述】:

我是 laravel 的新手并创建了一个 REST API。 API 的客户端将仅是移动应用程序。浏览器中没有显示前端视图。我创建了路由和控制器来处理 API 请求。此外,我删除了用户表(由 laravel 创建),因为我不需要 Web 界面等。

现阶段我只想要简单的基于令牌的身份验证(我知道有护照身份验证),但现阶段我什至无法理解。

项目中只有一张表。

候选人 (身份证(PK)、姓名、电话、详细信息)

移动应用用户也是候选人,我应该在此表中创建一个令牌列吗?并在注册 API 时手动创建令牌并将其作为响应返回?

请任何简单的指南或指示都会有所帮助,我在网上搜索了很多,似乎有很多主题出现,例如警卫、提供者、护照,我正在努力获得。 谢谢, 艾略特。

【问题讨论】:

标签: laravel


【解决方案1】:

首先,您不需要删除 users 表。您也可以将其用于 api 身份验证。您只需要创建一个单独的令牌表。 但是,如果你想手动实现它,你需要手动做很多事情。

手动执行这是一件大事,不可能在一个答案中描述它。我会尽量解释清楚。

您必须自己创建一个用于登录的身份验证系统。定义一个中间件来检查客户端发送的令牌的授权,以检查每个请求的有效性(这是保护部分)。

还要跟踪令牌的到期时间。每次到期后刷新令牌也需要完成(这是提供者部分)。

现在里面有很多东西。比如跟踪请求来自的设备,为单个用户的不同设备提供不同的令牌等。

如果您想了解一切是如何运作的,那么您可以尝试自己构建一个。但是,如果您打算将其部署到专业网站,我建议您尝试习惯使用护照。重新发明轮子真的没有必要。我希望它能给你一个基本的想法。如果您还有任何问题,请随时发表评论。

【讨论】:

  • 我不得不删除用户表,因为在我的前端没有电子邮件、密码的概念。前端只需注册一个候选者,然后使用同一设备上的 API。
  • 然后你就可以使用你的候选表了。
猜你喜欢
  • 1970-01-01
  • 2019-05-21
  • 2013-06-28
  • 2018-03-09
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
相关资源
最近更新 更多