使用API​​

时间:2016-05-05 07:39:36

标签: php laravel lumen

几年前我在几个网站上工作过,我希望与“新网站”保持同步,所以我正在使用Laravel和Lumen进行练习。

我有这样的架构:

  • 使用流明的API(包含数据库:用户数据,用户首选项......)
  • 一个网站(没有数据库,这部分只是向API询问一些数据并允许用户连接到他的帐户)

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

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

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

我正在考虑像Google Analytics,Bugsnag这样的服务......:这项服务要求用户在Javascript中添加令牌/密钥。如果有人拿走令牌并在他的个人网站和/或移动应用程序中使用它,这是一个问题吗?

我读过关于o-auth 2的内容,它是开始的地方吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议您尝试:

  
      
  1. 允许我的网站执行调用API的操作(在我的API上调用私有路由)
  2.   
  • JWT 认证(JSON网络代币)。

JSON Web令牌如何工作?

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

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

  
      
  1. 我想允许外部用户调用我的API,如果他们有   有效令牌(Google Analytics,Bugsnag like services)
  2.   

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