Laravel RESTful API身份验证适用于移动应用程序

6
我想讨论如何最好地保护您的API,以便从移动应用程序中使用。 由于没有第三方,我猜OAuth不是一个好选择?JWT是否是一个好选择? 对我来说难以理解的是,除非有人被授权调用它们,否则我如何验证身份以保护我的API中的数据。 我在服务器端使用Laravel 5.1,我想要调用API的移动应用程序是Android应用程序。 希望我没有忘记提到任何重要信息。任何形式的帮助都将不胜感激。

基本身份验证可能是保护您的API最简单的方法。 - Clive Seebregts
1
谢谢回答。不过,从质量的角度来看,它是否值得实现呢?因为这是最简单的方法。 - csdinos
@csdinos,我现在有同样的问题。我认为 JWT 并不适合移动应用程序,因为令牌在一小时后会自动失效,用户需要不断地重新登录,这对于 Web 应用程序来说是可以接受的,但在 Android 上,多次显示登录页面并不是一个好主意!我认为移动应用程序只需要一个登录过程就足够了!你怎么看?你在你的 Android 应用程序中使用 JWT 来验证用户吗? - Ali Sherafat
1
@AliSherafat 事实上,你可以实际上改变JWT令牌的生命周期,所以那不应该是个问题。我不太确定这里的最佳实践是什么,但我最终选择了使用OAuth2.0和资源所有者凭据授权的方式。 我使用了_lucadegasperi/oauth2-server-laravel_包:链接 - csdinos
2个回答

1

谢谢你的回答。我有一个问题。鉴于用户的凭据不应存储在Android端,访问令牌的最佳生命周期是多久? - csdinos
@csdinos 我认为这取决于你的应用需求。每天请求一个令牌对应用程序来说是否可以接受?关于这个话题没有好的内容。我见过像这样的API:http://docs.apigee.com/api-services/content/oauth-20-client-credentials-grant-type#configuringflowsandpolicies-configuretheflowwithapolicy 使用40天的生命周期。 - Álvaro Guimarães

0

1
是的,我已经遇到过这个问题了。这个想法是通过令牌对调用 API 的人进行身份验证,对吗? 我有两个问题: 1)数据应该作为令牌的一部分还是仅用于身份验证? 2)在实际进行身份验证并将令牌传递给“调用者”的 API 调用中,您只需通过 HTTPS 或其他方式保护它(用户名,密码)即可? - csdinos
1
JWT is used both for authentication and data protection. take a look at https://stormpath.com/blog/jwt-the-right-way - Himanshu Raval

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接