繁体   English   中英

使用laravel内置的API登录用户

[英]Logging in users with API built in laravel

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

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

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

如果您有任何有关如何使用Laravel内置api登录用户的示例,请分享。

提前致谢

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

OAuth 2

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

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

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

HTTP认证

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM