使用laravel内置的API登录用户



我正在为iOS应用程序构建我的第一个剩余API。我用来构建API的框架是Laravel。

到目前为止一切都很好,但我不确定如何使用API登录用户。会话在这里可以工作吗?我已经在使用SSL/HTTPS,但我不想对每个用户进行身份验证请求,那么让他们只登录一次的最佳方式是什么?

另外,oAuth在这里工作正常吗?

如果你有任何关于如何让用户登录Laravel构建的api的例子,请分享。

提前感谢

根据我的经验,Laravel内置的身份验证组件只能通过表单、会话和cookie应用于正常的身份验证。为了处理API身份验证,我使用了这些方法,希望其中一种适合您。

OAuth 2

借助lucadegaperi/oauth2-server-laravel,您可以通过OAuth流确保API的安全。更多文档可以在Github上的软件包wiki或PHP League Oauth2主页上找到。您可以使用过滤器来保护您的API路由,如下所示:

Route::get('protected-resource', ['before' => 'oauth:scope1,scope2', function() {
    // return the protected resource
}]);

但是,OAuth需要一个数据库来保存客户端凭据和更多设置,如果您的API不那么复杂,则此解决方案可能不适合。

HTTP身份验证

此解决方案比OAuth更简单,我建议将其与SSL(HTTPS)连接一起使用,因为使用此解决方案的原因可以看到身份验证信息。我以前使用的软件包是Intervention/httpauth。使用此软件包,您可以选择两种身份验证方法:basic(通过HTTP标头发送组合username:password的base64编码)或摘要。此解决方案不需要任何数据库。

最新更新