Codeigniter Restserver - 通过API调用每个函数时的最佳实践

时间:2017-08-02 04:48:43

标签: php rest codeigniter codeigniter-restserver

我正在使用Codeigniter restserver进行社交网络项目。我想通过API访问我的所有网站功能(i-e登录,getfriends,postcomments,uploadimages等)。现在我有一个问题,我应该在API(rest_auth,key等)上放置任何类型的身份验证,还是应该保持打开状态?应该如何设计API?

我相信通过在config中使用restserver自己的身份验证设置,每个函数调用都需要身份验证,但在我的情况下,我不需要通过登录或注册功能进行身份验证。

我可以在函数内使用自己的会话检查吗?或者是否有更好的方法,因为我相信restserver肯定会有我在这里缺少的东西。

1 个答案:

答案 0 :(得分:1)

如果您想使用自己的会话检查,可以尝试session中的$config['rest_auth']选项。

根据文件:

  

如果您将此库绑定到AJAX端点客户端使用PHP会话进行身份验证,那么您可能不喜欢摘要或基本身份验证方法。

     

在这种情况下,您可以告诉REST库要检查的PHP会话变量。如果该变量存在,则授权用户。您的应用程序将设置该变量。

     

您可以在$ config [' auth_source']中定义变量。然后通过将$ config [' rest_auth']设置为session来告诉库使用php会话变量。

无论如何,我不推荐你这个选项,因为作为一个社交网络网站,你可能希望将来有一个移动应用程序需要访问这个API。在那里你不会有PHP会话来检查。

对于我所读到的内容,OAuth2是保护我们的Rest API的最佳选择,但我还不知道如何实现它。

目前,我在CodeIgniter REST API上所做的就是为每个用户生成API密钥。这些密钥将有一个到期日期。当到期日期到期时,API密钥将从列表中删除,用户应重新进行身份验证(登录)以获取新的API密钥。

希望这会对你有所帮助。我也在同一个搜索中,这是我得到的更多。