Skip to main content
 首页 » 编程设计

python之使用 App Engine oauth 服务

2025年05月04日24dyllove98

我正在尝试使用 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 )。