php - 使用 laravel 内置的 API 登录用户

标签 php ios api laravel oauth

我正在为 iOS 应用构建我的第一个 rest API。 我用于构建 API 的框架是 Laravel。

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

此外,oAuth 在这里是否可以正常工作?

如果您有任何关于如何在 Laravel 构建的 api 上登录用户的示例,请分享。

提前致谢

最佳答案

根据我的经验,Laravel 内置的 Authentication 组件只能通过 form、session 和 cookie 应用于普通的身份验证。为了处理API认证,我使用了这些方法,希望其中一种适合你。

OAuth 2

lucadegasperi/oauth2-server-laravel的帮助下,您可以通过 OAuth 流程保护您的 API。更多文档可以在 package wiki on Github 找到或 PHP League Oauth2 home page .您可以使用过滤器来保护您的 API 路由,如下所示:

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

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

HTTP 认证

此解决方案比 OAuth 更简单,我建议将其与 SSL (HTTPS) 连接一起使用,因为可以看到身份验证信息,因此为什么要使用它。我之前用的包是Intervention/httpauth .使用此包,您有两种身份验证方法选项:basic(通过 HTTP header 发送组合 username:password 的 base64 编码)或 digest(在通过 HTTP header 发送之前使用 MD5 算法对您的信息进行编码)。该解决方案不需要任何数据库。

关于php - 使用 laravel 内置的 API 登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26466460/

相关文章:

php - 作为参数传递时如何将 PHPDoc 匿名函数?

php - 正则表达式 plus 与 star 的区别?

php - Oracle OCI 语句与 ODBC 语句的差异。 (php)

html - CSS :active in iOS

iOS 内存使用量增加直至崩溃

php - 使用 PHP 解析 KML 文件

ios - 更改 UINavigationController 中返回按钮的默认字体

php - Instagram API 被黑以允许上传?

c++ - 在 MySQL Connector C++ API 中通过一个函数调用执行多个查询的正确方法是什么?

api - Instagram API - 获取授权用户关注的私有(private)用户的提要