首页 文章

如何使用oAuth验证restful Web服务

提问于
浏览
6

我想在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服务如何检查数据库或将使用哪个密钥进行检查?是签名吗?

1 回答

  • 4

    阅读http://oauth.net/core/1.0/ ..具体见附录A.2至A.4 . 它描述了当服务无法访问时发生的"handshake",然后将用户重定向到身份验证网站,然后返回到回调URL .

    正如您所说,在A.4中,是的,该服务然后检查签名并使用访问令牌进行回复 .

相关问题