gpt4 book ai didi

google-app-engine - 云端点 HTTP Cookie

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:14 25 4
gpt4 key购买 nike

我正在通过使用自定义身份验证 ( GAE Sessions ) 而不是 Google 帐户的 Python 应用程序实现 Cloud Endpoints。我需要对来自 Javascript 客户端的请求进行身份验证,因此我想访问 cookie 信息。

阅读 this other question让我相信这是可能的,但也许没有记录。我不熟悉 App Engine 的 Java 端,所以我不太确定如何将该片段翻译成 Python。这是我的方法之一的示例:

class EndpointsAPI(remote.Service):
@endpoints.method(Query_In, Donations_Out, path='get/donations',
http_method='GET', name='get.donations')
def get_donations(self, req):
#Authenticate request via cookie

其中 Query_InDonations_Out 都是 ProtoRPC 消息 (messages.Message)。函数中的参数 req 只是 Query_In 的一个实例,我没有找到任何与 HTTP 数据相关的属性,但我可能是错的。

最佳答案

首先,我鼓励您尝试从您的客户端使用 OAuth 2.0,就像在 Tic Tac Toe sample 中所做的那样。 .

Cookie 在 Cookie header 中发送到服务器,这些值通常在 WSGI 环境中使用键 'HTTP_...' 设置,其中 ...对应header名称:

http = {key: value for key, value in os.environ.iteritems() 
if key.lower().startswith('http')}

对于 cookie,os.getenv('HTTP_COOKIE') 将为您提供所需的 header 值。不幸的是,默认情况下这不会通过 Google 的 API 基础设施传递。

更新:已为 Python 应用程序启用此功能 as of version 1.8.0 .要发送 cookie,请指定以下内容:

from google.appengine.ext.endpoints import api_config

AUTH_CONFIG = api_config.ApiAuth(allow_cookie_auth=True)

@endpoints.api(name='myapi', version='v1', auth=AUTH_CONFIG, ...)
class MyApi(remote.service):
...

这是一个(不一定是完整的列表)标题,可以通过:

  • HTTP_AUTHORIZATION
  • HTTP_REFERER
  • HTTP_X_APPENGINE_COUNTRY
  • HTTP_X_APPENGINE_CITYLATLONG
  • HTTP_ORIGIN
  • HTTP_ACCEPT_CHARSET
  • HTTP_ORIGINALMETHOD
  • HTTP_X_APPENGINE_REGION
  • HTTP_X_ORIGIN
  • HTTP_X_REFERER
  • HTTP_X_JAVASCRIPT_USER_AGENT
  • HTTP_METHOD
  • HTTP_HOST
  • HTTP_CONTENT_TYPE
  • HTTP_CONTENT_LENGTH
  • HTTP_X_APPENGINE_PEER
  • HTTP_ACCEPT
  • HTTP_USER_AGENT
  • HTTP_X_APPENGINE_CITY
  • HTTP_X_CLIENTDETAILS
  • HTTP_ACCEPT_LANGUAGE

关于google-app-engine - 云端点 HTTP Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com