我应该如何为移动应用程序创建 API(需要身份验证)
How should I create my API for mobile applications (Needs Authentication)
背景
因此,在过去的一周里,我一直在研究 API 的相关内容,并且一直在阅读有关概念和编程的内容。
目前我有一个网站,该网站使用名为 Laravel 的流行框架在 PHP 中编程。该网站有一个用户数据库,用户可以登录到我网站上的仪表板,一切都按我希望的方式运行。
现在,对于我业务的下一个项目,我正专注于创建我的移动应用程序(IOS & Andriod)。我需要这些移动应用程序能够通过应用程序登录 UI(没有通过回调 URL 重定向到我的网站)所以他们能够查看和管理仪表板。
我想用于我的应用程序的身份验证和授权方法类似于
- 客户端要求用户通过 UI
登录
- 用户输入凭据
- 客户端发送请求登录API
- API 检查凭据是否正确
- API 创建一个令牌,该令牌存储在链接到用户 ID
的令牌数据库中
- API returns 200 OK 有 json 响应或类似这样的东西
{ "token" : "OLS25usJIay81hdy81", "expiry" : 3/06/2016 14:00}
- 客户端记住令牌和到期时间
- 每当 user/client 发出诸如
api/v1/mystuff/orders
的请求时,它会随请求发送令牌(可能通过 http headers?)
- API 验证令牌,获取用户 ID 并查找用户订单
问题
我知道这真是个问题,我不是要你们为我的整个软件编程哈哈,但我需要知道的是
- 我应该用什么来创建API(需要PHP,最好laravel集成)
- 有哪些好的资源可以帮助我编写 API
- 你有什么suggestions/changes推荐的吗?
要求
- Username/Password 认证
- 令牌授权
- 通过应用程序登录 UI(我的网站上没有回调)
备注
- 我的网站有 SSL 证书。
Laravel 绝对是创建您的 API 的非常好的选择,并且您的身份验证和授权计划非常可靠。
我建议您使用 JSON 令牌身份验证包 Laravel https://github.com/tymondesigns/jwt-auth
你可以在这里看到一些教程:
https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps
https://www.sitepoint.com/how-to-build-an-api-only-jwt-powered-laravel-app/
我也会推荐这个 API 包 https://github.com/dingo/api 它将为您节省很多工作。
如果您需要一些帮助,可以从 Laracast 观看这个系列 https://laracasts.com/series/incremental-api-development,这需要订阅,但绝对值得。
背景
因此,在过去的一周里,我一直在研究 API 的相关内容,并且一直在阅读有关概念和编程的内容。
目前我有一个网站,该网站使用名为 Laravel 的流行框架在 PHP 中编程。该网站有一个用户数据库,用户可以登录到我网站上的仪表板,一切都按我希望的方式运行。
现在,对于我业务的下一个项目,我正专注于创建我的移动应用程序(IOS & Andriod)。我需要这些移动应用程序能够通过应用程序登录 UI(没有通过回调 URL 重定向到我的网站)所以他们能够查看和管理仪表板。
我想用于我的应用程序的身份验证和授权方法类似于
- 客户端要求用户通过 UI 登录
- 用户输入凭据
- 客户端发送请求登录API
- API 检查凭据是否正确
- API 创建一个令牌,该令牌存储在链接到用户 ID 的令牌数据库中
- API returns 200 OK 有 json 响应或类似这样的东西
{ "token" : "OLS25usJIay81hdy81", "expiry" : 3/06/2016 14:00}
- 客户端记住令牌和到期时间
- 每当 user/client 发出诸如
api/v1/mystuff/orders
的请求时,它会随请求发送令牌(可能通过 http headers?) - API 验证令牌,获取用户 ID 并查找用户订单
问题
我知道这真是个问题,我不是要你们为我的整个软件编程哈哈,但我需要知道的是
- 我应该用什么来创建API(需要PHP,最好laravel集成)
- 有哪些好的资源可以帮助我编写 API
- 你有什么suggestions/changes推荐的吗?
要求
- Username/Password 认证
- 令牌授权
- 通过应用程序登录 UI(我的网站上没有回调)
备注
- 我的网站有 SSL 证书。
Laravel 绝对是创建您的 API 的非常好的选择,并且您的身份验证和授权计划非常可靠。
我建议您使用 JSON 令牌身份验证包 Laravel https://github.com/tymondesigns/jwt-auth
你可以在这里看到一些教程:
https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps
https://www.sitepoint.com/how-to-build-an-api-only-jwt-powered-laravel-app/
我也会推荐这个 API 包 https://github.com/dingo/api 它将为您节省很多工作。
如果您需要一些帮助,可以从 Laracast 观看这个系列 https://laracasts.com/series/incremental-api-development,这需要订阅,但绝对值得。