0

我想做漂亮干净的api;我正在制作网站,我想提供移动应用程序使用我网站的 Web API 的能力。

我不想使用 oAuth,因为面临最大障碍的移动和嵌入式应用程序可能无法启动和/或控制 Web 浏览器。它也有点复杂。

我知道,HTTP基本授权并不安全,但它是如此简单......我想在我的api中使用它。我在 mysql 基础中有一些用户登录名和他们的密码(md5 编码),但是如何在这个 HTTP 基本授权中使用这些数据?

4

2 回答 2

1

为数据库中的每个用户生成一个随机唯一字符串,并使该字符串可供最终用户使用。当他们访问 api 时,要求他们输入您提供的唯一字符串——这是他们的“密钥”。每次用户应用程序访问 api 时,他们都会传递直接链接到唯一帐户的密钥,这就是您授权他们的方式。它本质上是用户名和密码合二为一。

虽然上面的示例是通用的,但您还应该考虑安全性之类的事情——例如,如果可能,从移动设备传递设备 ID 并在身份验证期间使用它,或者在其 API 密钥生成期间使用他们当前的密码哈希,所以如果他们更改了密码,密钥将停止工作,他们必须获得一个新的——这样,如果他们的密钥丢失,他们可以控制访问。

它不必很复杂,它只需要安全即可。=)

于 2010-05-26T19:31:48.233 回答
0

PHP 手册有一个示例
Jus google 你的问题“PHP HTTP basic”,在这里你是
http://php.net/manual/en/features.http-auth.php

它就像发送一些 HTTP 标头一样简单。

另请注意,摘要授权被认为更安全但与客户端的兼容性较差。

于 2010-05-26T16:20:37.843 回答