我正在尝试使用 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>
请您参考如下方法:
您不需要实现处理程序,框架会为您完成。 您需要做的就是使用 oauth.get_current_user()一切都将从服务器的角度为您处理。
此外,您不应该将 secret 放在客户端中(我不知道 GAE 是否允许您访问 secret )。
