我在应用程序documentation中看到的是三种方法来传递访问令牌以进行身份验证并接收我正在尝试获取的信息:http Digest auth,http Basic auth和Bearer token auth.这些之间的区别对我来说并不清楚,我在Bearer token auth(检查第5步)的尝试没有奏效.
有人可以解释这三个是什么,并希望指出我做错了什么?
解决方法 http基本身份验证和http摘要身份验证之间没有太大区别.对于具有oAuth系统的基本Auth Before请求,用户名附加冒号并与密码连接.结果将使用Base64算法进行编码.
例如,用户名是demo,你的access_token是123,所以在这种情况下,连接后得到的字符串将是’demo:123′,一旦我们应用Base64编码,它将成为ZGVtbzoxMjM =
现在,这个编码的字符串在http头中传输,并由oAuth提供程序解码.这不是一个非常强大的编码机制,可以轻松解码,因为这个Auth系统不适用于非常高的安全系统.
Digest也使用http协议发送和接收数据,但它比以纯文本发送数据的基本OAuth要好得多.Digest使用MD5加密散列算法来加密你的密码/ access_token,此后它使用nonce值来阻止重放攻击.
希望这会让你对他们的工作方式有所了解.
更新
我刚看到Gimme吧的代码
GET /API/v0/Tags http/1.1Host: gimmebar.comUser-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.0Accept: */*Accept-Language: en-usAccept-EnCoding: gzip,deflateAuthorization: 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一起使用的散列算法.所以他们在应用程序中创建它们并放置在标题部分.您需要找到我们需要放置的标题名称.
总结以上是内存溢出为你收集整理的django – 摘要,基本和承载认证全部内容,希望文章能够帮你解决django – 摘要,基本和承载认证所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)