【发布时间】:2016-01-15 19:36:09
【问题描述】:
我在 CodeIgniter 中使用 Restful api。现在我想将 api 提供给第三方,所以当我点击 api 时,我想保护我正在使用摘要的 api 在浏览器中弹出询问用户名和密码。 所以我想问一下如何在 url 中传递用户名和密码以使其正常工作。 提前谢谢你,抱歉英语不好
【问题讨论】:
标签: codeigniter codeigniter-2 restful-authentication
我在 CodeIgniter 中使用 Restful api。现在我想将 api 提供给第三方,所以当我点击 api 时,我想保护我正在使用摘要的 api 在浏览器中弹出询问用户名和密码。 所以我想问一下如何在 url 中传递用户名和密码以使其正常工作。 提前谢谢你,抱歉英语不好
【问题讨论】:
标签: codeigniter codeigniter-2 restful-authentication
这并不能直接回答您的问题,但确实提供了替代方案。
根据我使用 API 的经验,您可以使用 HMAC 保护它们。这基本上是使用请求唯一的一些数据、时间戳和私钥生成的散列。这个散列连同用于创建它的数据将被传递给您的 API - 而不是私钥 - 这些数据都可以在请求的标头中发送。当您的 API 获取此数据时,将使用唯一数据、时间戳和私钥来创建另一个哈希。然后比较来自标头的散列和新创建的散列。如果它们匹配,您可以确定使用相同的私钥来生成它们。这样可以节省通过 Internet 发送任何用户名/密码。
我还建议您将服务器设置为仅提供 HTTPS,这将有助于防止中间人攻击。
这是我为此目的而编写的一个库。
https://packagist.org/packages/mardy-git/hmac
我希望这会有所帮助。
【讨论】: