1

据此 Google Apps 可以“获取资源并通过 Internet 与其他主机通信”。我想使用 OAuth 访问我的 couchdb 实例。CouchDB支持OAuth。我打算做的是这样的:

  1. 在 CouchDB 配置中启用 OAuth 身份验证处理程序:{couch_httpd_oauth, oauth_authentication_handler}
  2. 为我想要提供的数据库定义一个数据库阅读器。
  3. 使用脚本工具测试设置。
  4. 设置 Google App 应用程序以使用 CouchDB OAuth 授权用户。

这里有人对这个特定的设置有意见吗?有人可以提供一个简单的测试脚本(最好是 python)来访问 OAuth 1.0 端点吗?

4

1 回答 1

3

对于 python 中的 CouchDB OAuth 示例,您可以使用wiki 页面中有关 OAuth 授权的脚本。

但是,由于它是以单行样式编写的,因此这里是流版本:

import oauth
import httplib

URL='http://localhost:5984/_session'
CONSUMER_KEY = 'example.com'
CONSUMER_SECRET = 'sekr1t'
TOKEN='user1'
SECRET='tokensekr1t'

consumer = oauth.OAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET)
token = oauth.OAuthToken(TOKEN, SECRET)
req = oauth.OAuthRequest.from_consumer_and_token(
    consumer, token=token, http_method='GET', http_url=URL, parameters={}
)
req.sign_request(oauth.OAuthSignatureMethod_HMAC_SHA1(), consumer,token)

con = httplib.HTTPConnection('localhost', 5984)
con.request('GET', URL,headers=req.to_header())
print con.getresponse().read()
于 2012-08-20T11:38:25.157 回答