我想在RESTful Web服务中为每个请求进行身份验证。我在网站上阅读了关于OAuth的范围。 我应该在数据库中存储什么,或者哪个令牌密钥或访问密钥需要与数据库一起检查?我有REST web服务和Android应用程序来调用web服务。因此,Web服务作为服务提供者,UserLogin是用户和Android应用程序,如Oauth网站中描述的消费者。所以,如果用户请求来自android
GET /username/a.jpg HTTP/1.1 Host: localhost:8080 Authorization: OAuth realm="http://localhost/username/a.jpg", oauth_consumer_key="dpf43f3p2l4k3l03", oauth_token="nnch734d00sl2jdk", oauth_nonce="kllo9940pd9333jh", oauth_timestamp="1191242096", oauth_signature_method="HMAC-SHA1", oauth_version="1.0", oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D"
但是从服务器端这是web服务如何检查数据库或用哪个密钥来检查?是签名吗?
答案 0 :(得分:4)
阅读http://oauth.net/core/1.0/,特别是附录A.2至A.4。 它描述了当服务无法访问时发生的“握手”,然后将用户重定向到身份验证网站,然后返回到回调URL。
正如您所说,在A.4中,是的,该服务然后检查签名并使用访问令牌回复。