使用app引擎oauth服务

时间:2012-01-03 12:45:15

标签: python google-app-engine oauth

我正在尝试使用oauth在我的应用引擎应用程序中再次验证python命令行脚本。

我正在遵循these说明,但我仍然没有得到它的“大局”。

这个api“准备好了”吗?或者我应该为oauth进程实现请求处理程序吗?。

到目前为止,我已部署了我的应用,并且我正在使用此oauth库,我正在尝试使用以下值的this示例:

SERVER = 'myapp.appspot.com'
PORT = 443 # Also tried 80

REQUEST_TOKEN_URL = '/_ah/OAuthGetRequestToken'
ACCESS_TOKEN_URL = '/_ah/OAuthGetAccessToken'
AUTHORIZATION_URL = '/_ah/OAuthAuthorizeToken'
CALLBACK_URL = 'oob'
RESOURCE_URL = 'http://myapp.appspot.com/'

CONSUMER_KEY = 'myapp.appspot.com'
CONSUMER_SECRET = 'AaB8BtzxM7Dr7wz9Dxc5y6gG'

我是否必须在服务器端实现任何请求处理程序?我是否必须在某处启用此api?

感谢您的任何澄清。

编辑:以下是运行的客户端脚本的输出:

$ python test.py ** OAuth Python Library Example **

* Obtain a request token ...

REQUEST (via headers)
parameters: {'oauth_nonce': '64747931', 'oauth_timestamp': 1325595310, 'oauth_consumer_key': 'myapp.appspot.com', 'oauth_signature_method': 'HMAC-SHA1', 'oauth_version': '1.0', 'oauth_signature': 'rBMJdn8+n0yXei38tDMfHjYKxyM=', 'oauth_callback': 'oob'}

我得到的回应是:

<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>400 Bad Request</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Bad Request</h1>
<h2>Your client has issued a malformed or illegal request.</h2>
<h2></h2>
</body></html>

1 个答案:

答案 0 :(得分:1)

您不需要实现处理程序,框架将为您执行此操作。 您需要做的就是使用oauth.get_current_user(),从服务器的角度来看,一切都将为您处理。

此外,你不要把秘密放在客户端(即使GAE允许你访问这个秘密,我也不知道。)