【问题标题】:Authentification using API使用 API 进行身份验证
【发布时间】:2016-08-30 22:01:45
【问题描述】:

几年前我在几个网站上工作过,我想了解“新网络”的最新情况,所以我正在开发一个使用 Laravel 和 Lumen 来练习的网站。

我有这样的架构:

  • 使用 Lumen 的 API(包含数据库:用户数据、用户偏好等)
  • 一个网站(没有数据库,这部分只是向API询问一些数据并允许用户连接到他的帐户)

目前我的 API 中的所有内容都是公开的:检索用户、删除帐户、搜索用户等。

问题是我不知道如何允许这样的情况:

  • 允许我的网站执行调用 API 的操作(调用我的 API 上的私有路由)
  • 我想在我的 API 上公开一些路由(最简单的部分,实际上已经完成)
  • 如果外部用户拥有有效的令牌(Google 分析、类似 Bugsnag 的服务),我想允许他们调用我的 API

我正在考虑诸如 Google 分析、Bugsnag 等服务:这些服务要求用户在 Javascript 中放置一个令牌/密钥。如果有人拿到令牌并在他的个人网站和/或移动应用程序中使用它会不会有问题?

我已经阅读了关于 o-auth 2 的内容,可以从这里开始吗?

谢谢!

【问题讨论】:

    标签: php laravel lumen


    【解决方案1】:

    我建议你尝试:

    1. 允许我的网站执行调用 API 的操作(调用我的 API 上的私有路由)
    • JWT 身份验证(JSON Web 令牌)。

    JSON Web 令牌如何工作?

    在身份验证中,当用户使用其凭据成功登录时,将返回一个 JSON Web Token,并且必须保存在本地(通常在本地存储中,但也可以使用 cookie),而不是传统的创建一个服务器中的会话并返回一个 cookie。阅读更多about jwt

    将此JWT-AUTH 用于连接 jwt 机制与 lumen/laravel。

    1. 如果外部用户有 有效令牌(Google 分析、类似 Bugsnag 的服务)

    对于该任务,我建议您使用 OAuth 2.0 协议

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-21
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      相关资源
      最近更新 更多