我在Play 2.5.x中实现了RESTful服务,需要用Digest替换实现身份验证的现有服务器。有没有人有关于如何使用Play实现此功能的教程或示例?
客户基本上说的是:
POST /tui/testing/v1/ HTTP/1.1
Host: dev01.funkyhost.org
User-Agent: curl/7.43.0
Accept: */*
Content-Length: 0
服务器必须回复一个请求:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest realm="SomeFunkyRealm", nonce="ST8RrC0/BQA=9f0890ed9f1603989a4526ce2d27f4415fef88c6", algorithm=MD5, qop="auth"
并且客户端将回复类似:
POST /tui/testing/v1/ HTTP/1.1
Host: dev01.funkyhost.org
Authorization: Digest username="testing", realm="SomeFunkyRealm", nonce="7VKfAjI/BQA=5a86a2b75bb70c9aa0723b8eaed002d919bd3039",
uri="/tui/testing/v1/", cnonce="MWE4OThmYTE2NTFkZTg2YjYyYzhhMTA1OWVhMzIxODU=", nc=00000001, qop=auth, response="722260be15837dead193763511604850", algorithm="MD5"
User-Agent: curl/7.43.0
Accept: */*
Content-Length: 117938
Expect: 100-continue
....
提前致谢!
答案 0 :(得分:0)
见亚历山大的书Chapter 2。他为这样做提供了一个有效的应用程序,尽管这个框架已经过时了。
根据你使用的版本,你需要玩一些导入(请原谅双关语),因为他们写这篇文章后会有一点转移,并做一些重构。