私はいくつかの Google Flex エンドポイントを開発しました。それらはローカルで動作しますが、アプリをデプロイすると (gcloud app deploy)、HTTP ステータス 403 禁止されます。私は ajax を使用して、次のようにエンドポイントを呼び出しています。
var echoEndpoint = function() {
$.ajax(userBaseUrl+'/echo', {
headers: {'Authorization': 'Bearer ' + userIdToken},
type: 'GET',
data: "key=my special key"
})
}
apikey でエンドポイントを保護し、ヘッダーに userIdToken を渡しています。上記のコードは、403 禁止を生成します。しかし、ヘッダーを削除すると機能します。ユーザートークンはありませんが。403を生成しないコードは次のとおりです
var echoEndpoint = function() {
$.ajax(userBaseUrl+'/echo', {
type: 'GET',
data: "key=my special key"
})
}
これが私のopenapi.yamlのパスセクションです.....
paths:
"/echo":
get:
description: "Echo a test message."
operationId: "echo"
produces:
- "application/json"
responses:
200:
description: "Echo"
schema:
$ref: "#/definitions/echoMessage"
x-security:
- firebase:
audiences:
- "my project-id"
....
definitions:
echoMessage:
properties:
message:
type: "string"
リクエストでヘッダーを送信することを openapi.yaml で指定する必要がありますか? もしそうなら、どのように、どこで?定義セクションに入れようとしましたが、デプロイしようとすると INVALID_ARGUMENT エラーが発生します。