【问题标题】:Laravel RESTful API authentication for mobile app移动应用程序的 Laravel RESTful API 身份验证
【发布时间】:2016-10-22 17:39:50
【问题描述】:

我想讨论保护您的 API 以便在移动应用程序中使用的最佳方法。

既然没有第三方,我猜OAuth不是一个好的选择?
JWT 会是一个不错的选择吗?

对我来说最难理解的部分是如何进行身份验证,以便保护我的 API 中的数据,除非有人被授权调用它们。

我在服务器端使用 Laravel 5.1,我想调用 API 的移动应用程序是一个 android 应用程序。

我希望我没有忘记提及任何重要信息。 任何形式的帮助将不胜感激。

【问题讨论】:

  • 基本身份验证可能是保护 API 的最简单方法。
  • 感谢您的回答。是否值得实施?我的意思是质量,因为这是最简单的方法。
  • @csdinos 现在我有同样的问题。我认为 jwt 对于移动应用程序不太好,因为令牌会在一小时后由服务器自动失效,并且用户应该一次又一次地登录,这对于 Web 应用程序来说是可以的,但在 android 中,多次显示登录页面并不是一个好主意!我认为对于手机应用程序来说,只需一个登录过程就足够了!你怎么看?您是否使用 jwt 在您的 android 应用中对用户进行身份验证?
  • @AliSherafat 事实是,您实际上可以更改 JWT 中令牌的寿命,所以我认为这不会是一个问题。我不完全确定这里的最佳做法是什么,但我最终使用 资源所有者凭据授权获得了 OAuth2.0。我使用 lucadegasperi/oauth2-server-laravel 包:link

标签: php android laravel authentication restful-authentication


【解决方案1】:

使用 OAuth2

考虑将 OAuth 2 与客户端凭据授予一起使用。

您可以使用客户的凭据请求访问令牌。

使用 OAuth 2 服务器 Laravel:

使用 Luca 的包实现具有客户端凭据授予的授权服务器:

【讨论】:

  • 感谢您的回答。我有一个问题。鉴于用户的凭证不应存储在android端,那么访问令牌的最佳寿命是多少?
  • @csdinos 我认为这取决于您的应用程序需求。应用程序可以每天要求令牌吗?没有关于该主题的好内容。我见过这样的 API:docs.apigee.com/api-services/content/… 使用 40 天的生命周期。
【解决方案2】:

看看 JSON Web Token Authentication for Laravel & Lumen

它为数据和路由提供安全和保护。

【讨论】:

  • 是的,我已经偶然发现了这个。这个想法是对通过令牌调用 API 的人进行身份验证,对吗?我有两个问题:1)数据应该是令牌的一部分还是仅将其用于身份验证? 2)在您实际进行身份验证并将令牌传递给“调用者”的API调用中,您只需通过HTTPS或其他方式保护它(用户名,密码)?
  • JWT is used both for authentication and data protection. take a look at https://stormpath.com/blog/jwt-the-right-way
猜你喜欢
  • 2015-09-17
  • 2015-05-12
  • 2021-12-26
  • 2014-02-09
  • 2014-02-25
  • 2013-03-02
  • 2011-11-28
  • 2011-10-08
  • 2014-07-10
相关资源
最近更新 更多