gpt4 book ai didi

REST 服务的 Codeigniter 身份验证 key

转载 作者:行者123 更新时间:2023-12-04 02:02:24 25 4
gpt4 key购买 nike

我正在使用 Phil Sturgeon Rest Server 编写一个简单的 RESTful 服务。我想通过使用此库提供的 API key 来保护我的方法。

不幸的是,这不是很好的记录,我有点迷茫。

我想对用户(电子邮件/密码)进行身份验证,然后生成一个身份验证 key 以发送所有其他请求。但似乎我已经需要身份验证 key 来生成一个......创建一个虚拟 key 似乎不是很安全。对不起,如果这是一个愚蠢的问题,但最佳实践应该是什么?

最佳答案

如果您熟悉其他 API,您会注意到一个常见的模式。我推荐一种用户传递他们的电子邮件和密码的身份验证方法,它将返回一个生成的唯一身份验证 key 。 auth key 就像一个 session ID,想想 cookie 是如何工作的。然后所有其他 API 方法应该检查 $this->post('auth') 并且您需要在处理每个请求之前将其与 session 处理程序(即数据库或 session )进行比较。

好像有很多代码吧?不。

你所有的模型都应该有一个重载的构造函数:

class MyAPIController extends Rest_controller
{
public function __construct()
{
parent::__construct();

if(!authCheck($this->post('auth'))){
returnFailedResponse();
exit();
}
}

然后正常编写 API,就像 Phil Sturgeon 网站上的示例一样。
http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/

制作一个带有authCheck的模型来测试auth key是否有效,并制作一个returnFailedResponse方法返回一个401 Unauthorized。

在另一个 Controller 中,我们称之为“Auth”,使用上面的构造函数。

现在每次调用 api 都应该为 Auth 设置一个 header 。前任。 '身份验证:12m34k23b'。

关于REST 服务的 Codeigniter 身份验证 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16654872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com