Googleアカウントの代わりにカスタム認証(GAE Sessions)を使用するPythonアプリでCloud Endpointsを実装しています。 Javascriptクライアントからのリクエストを認証する必要があるので、Cookie情報にアクセスしたいと思います。クラウドエンドポイントHTTP Cookies
this other questionを読むことは、それが可能であると信じていますが、おそらく文書化されていません。私はApp EngineのJava側を熟知していないので、そのスニペットをPythonにどのように翻訳するかについてはあまりよく分かりません。ここに私の方法の一つの例である:
Query_In
と
Donations_Out
は、両方のProtoRPCメッセージ(
messages.Message
)です
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
。関数内のパラメータreq
はちょうどQuery_In
のインスタンスであり、HTTPデータに関連するプロパティは見つかりませんでしたが、間違っている可能性があります。
'HTTP_COOKIE'が有効になったらどんな考えですか?私はエンタープライズアプリケーションを実行しており、Tic Tac Toeサンプルで使用されているようにGoogle OAuthを使用することはできません。私は自分のOAuth2プロバイダーの設定について簡単に調査しましたが、ユーザーが認証を2回行わなければならないため、かなり厄介なように思えました。 とにかく、 'HTTP_COOKIE'ヘッダーは人生をはるかに簡単にします。ありがとう! – rhefner1
ここにあなたのために働くサルのパッチがあります:http://pastebin.com/jT7T6xPSリクエストを処理するための 'endpoints.api_server'を作成する前に' api_config.ApiConfigGenerator'を置き換えてください。 – bossylobster
ありがとうDanny!それは完璧に働いた。私はあなたの 'logging.warn'メッセージに基づいてこれが1.7.7で修正されると仮定します。これは素晴らしいことです。 – rhefner1