我想制作漂亮干净的api;我正在制作网站,我希望移动应用能够使用我网站的网址API。
我不想使用oAuth,因为它们可能无法启动和/或控制Web浏览器,因此面临着最大障碍的移动和嵌入式应用程序。它也有点复杂。
我知道,HTTP基本授权不安全,但它很简单......我想在我的api中使用它。 我在mysql库中有一些用户登录和密码(md5编码),但如何在这个HTTP基本授权中使用这些数据?
答案 0 :(得分:1)
为数据库中的每个用户生成一个随机唯一字符串,并使该字符串可供最终用户使用。当他们访问api时,要求他们输入您提供的唯一字符串 - 这是他们的'密钥'。每次用户应用访问api时,他们都会传递直接链接到唯一帐户的密钥,这就是您授权它们的方式。它本质上是用户名和密码。
虽然上面的示例是通用的,但您还应该考虑安全性等问题 - 例如,在可能的情况下,从移动设备传递设备ID并在身份验证期间使用它,或者在API密钥期间使用其当前的密码哈希值因此,如果他们更改密码,密钥将停止工作,他们必须得到一个新密码 - 这样他们可以控制访问,如果他们的密钥丢失。
它不必复杂,只需要安全。 =)
答案 1 :(得分:0)
PHP手册有一个例子 Jus谷歌你的问题“PHP HTTP基础”,在这里你是 http://php.net/manual/en/features.http-auth.php
就像发送一些HTTP标头一样简单。
另请注意,摘要授权被认为更安全,但与客户端的兼容性更低。