Codeingter-仅针对特定路由的RESTful API密钥验证


Codeingiter - RESTful API Key auth for only certain Routes

我正在构建一个RESTful API服务器。截至目前,一切正常。

我正在为CodeIgniter使用Phil Sturgeon RESTful服务器实现,这非常流行。https://github.com/chriskacerguis/codeigniter-restserver

我需要的是为这个包已经提供的一些路由提供一个基本的API密钥身份验证,但它确实适用于所有API路由。

我不希望对所有路由进行身份验证。。因为某些API应该在没有身份验证的情况下调用我们如何做到这一点。

注意:我无法切换技术或框架,因为我目前使用的是以前开发的模型和现在使用的模型。

例如,无身份验证的路由:$route['api/products'] = "api/Products/allProducts";

例如使用Auth:$route['api/devices/update'] = "api/Devices/updateDevice"; 的路由

尝试使用:

$config['auth_override_class_method']['products']['allproducts'] = 'none';
$config['auth_override_class_method']['devices']['updatedevice'] = 'basic';

将以下代码添加到"application/config/rest.php";

$config['auth_override_class_method']['Products']['allProducts'] = "none";
$config['auth_override_class_method']['Devices']['updateDevice'] = FALSE;

或者你可以添加这个。

$config['auth_override_class_method']['Products']['allProducts'] = "none";

因为您的应用程序会自动激活令牌/为false,所以不需要添加再次激活令牌的路由。