HTTP Basic Authentication 和 HTTP Digest Authentication 没有太大区别。
对于使用 oAuth 系统用户名的基本 Auth Before 请求附加一个冒号并与密码连接。结果将使用 Base64 算法进行编码。
例如说username是demo,而你的access_token是123,所以在这种情况下,串联后的结果字符串将为'demo:123',一旦我们应用Base64编码,它将变为ZGVtbzoxMjM= /p>
现在这个编码字符串在HTTP header 中传输,并由 oAuth 提供者解码。同样,这不是一个非常强大的编码机制,并且很容易被解码,因为这个 Auth 系统不适用于非常高安全性的系统。
Again Digest 也使用HTTP 协议来发送和接收数据,但它比在plaintext 中发送数据的基本OAuth 要好得多。Digest 使用MD5 cryptographic hashing 类型的算法来加密你的password/access_token,除此之外它还使用nonce 值停止重放攻击。
希望这能让您对它们的工作方式有所了解。
更新
我刚刚在 Gimme 酒吧看到了代码
GET /api/v0/tags HTTP/1.1
Host: gimmebar.com
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-us) AppleWebKit/533.6+ (KHTML, like Gecko) Version/4.0 Safari/528.16 Titanium/1.1.0
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Authorization: Digest username="funkatron", realm="GimmeBarAPI", nonce="7a3ab1f9cde605f27797cd04c4d1fcf6", uri="/api/v0/tags", response="3654f9b1b2ba9489e1f01ae792852987", opaque="94619f8a70068b2591c2eed622525b0e", algorithm="MD5", cnonce="6897ccbff3b08776ab61e69a814c05b4", nc=00000001, qop="auth"
Connection: keep-alive
如果您在发送请求时看到他们正在传递与nonce、username 一起使用的哈希算法。所以他们都在应用程序中创建它们并放置在标题部分中。您需要找到什么我们需要输入的标题名称。