From dc49facb050e539f915a6086ea392aa8b2765ed9 Mon Sep 17 00:00:00 2001 From: Paul Buser Date: Thu, 4 May 2017 14:18:12 -0700 Subject: [PATCH 1/3] Create openapi-appengine.yaml --- .../getting-started/openapi-appengine.yaml | 122 ++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 endpoints/getting-started/openapi-appengine.yaml diff --git a/endpoints/getting-started/openapi-appengine.yaml b/endpoints/getting-started/openapi-appengine.yaml new file mode 100644 index 00000000000..08b471b16d7 --- /dev/null +++ b/endpoints/getting-started/openapi-appengine.yaml @@ -0,0 +1,122 @@ +# Copyright 2015 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# [START swagger] +swagger: "2.0" +info: + description: "A simple Google Cloud Endpoints API example." + title: "Endpoints Example" + version: "1.0.0" +host: "[YOUR-PROJECT-ID].appspot.com" +# [END swagger] +basePath: "/" +consumes: + - "application/json" +produces: + - "application/json" +schemes: + - "https" +paths: + "/echo": + post: + description: "Echo back a given message." + operationId: "echo" + produces: + - "application/json" + responses: + 200: + description: "Echo" + schema: + $ref: "#/definitions/echoMessage" + parameters: + - + description: "Message to echo" + in: body + name: message + required: true + schema: + $ref: "#/definitions/echoMessage" + security: + - api_key: [] + "/auth/info/googlejwt": + get: + description: "Returns the requests' authentication information." + operationId: "auth_info_google_jwt" + produces: + - "application/json" + responses: + 200: + description: "Authenication info." + schema: + $ref: "#/definitions/authInfoResponse" + security: + - api_key: [] + - google_jwt: [] + "/auth/info/googleidtoken": + get: + description: "Returns the requests' authentication information." + operationId: "authInfoGoogleIdToken" + produces: + - "application/json" + responses: + 200: + description: "Authenication info." + schema: + $ref: "#/definitions/authInfoResponse" + security: + - api_key: [] + - google_id_token: [] +definitions: + echoMessage: + properties: + message: + type: "string" + authInfoResponse: + properties: + id: + type: "string" + email: + type: "string" +securityDefinitions: + # This section configures basic authentication with an API key. + api_key: + type: "apiKey" + name: "key" + in: "query" + # This section configures authentication using Google API Service Accounts + # to sign a json web token. This is mostly used for server-to-server + # communication. + google_jwt: + authorizationUrl: "" + flow: "implicit" + type: "oauth2" + # This must match the 'iss' field in the JWT. + x-google-issuer: "jwt-client.endpoints.sample.google.com" + # Update this with your service account's email address. + x-google-jwks_uri: "https://www.googleapis.com/service_accounts/v1/jwk/YOUR-SERVICE-ACCOUNT-EMAIL" + # This must match the "aud" field in the JWT. You can add multiple + # audiences to accept JWTs from multiple clients. + x-google-audiences: "echo.endpoints.sample.google.com" + # This section configures authentication using Google OAuth2 ID Tokens. + # ID Tokens can be obtained using OAuth2 clients, and can be used to access + # your API on behalf of a particular user. + google_id_token: + authorizationUrl: "" + flow: "implicit" + type: "oauth2" + x-google-issuer: "https://accounts.google.com" + x-google-jwks_uri: "https://www.googleapis.com/oauth2/v3/certs" + # Your OAuth2 client's Client ID must be added here. You can add + # multiple client IDs to accept tokens from multiple clients. + x-google-audiences: "YOUR-CLIENT-ID" From 2cc5d0381aeb574e2b0c18f227c4d070aad7bead Mon Sep 17 00:00:00 2001 From: Paul Buser Date: Tue, 9 May 2017 12:38:04 -0700 Subject: [PATCH 2/3] Change copyright date to 2017. --- endpoints/getting-started/openapi-appengine.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/endpoints/getting-started/openapi-appengine.yaml b/endpoints/getting-started/openapi-appengine.yaml index 08b471b16d7..b67040b6ce0 100644 --- a/endpoints/getting-started/openapi-appengine.yaml +++ b/endpoints/getting-started/openapi-appengine.yaml @@ -1,4 +1,4 @@ -# Copyright 2015 Google Inc. +# Copyright 2017 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. From 677686c4f0a1074eb268f4777a7c892197ad43cc Mon Sep 17 00:00:00 2001 From: Paul Buser Date: Tue, 9 May 2017 14:08:58 -0700 Subject: [PATCH 3/3] Add comment to openapi.yaml about deploying on App Engine. Remove openapi-appengine.yaml. --- .../getting-started/openapi-appengine.yaml | 122 ------------------ endpoints/getting-started/openapi.yaml | 3 + 2 files changed, 3 insertions(+), 122 deletions(-) delete mode 100644 endpoints/getting-started/openapi-appengine.yaml diff --git a/endpoints/getting-started/openapi-appengine.yaml b/endpoints/getting-started/openapi-appengine.yaml deleted file mode 100644 index b67040b6ce0..00000000000 --- a/endpoints/getting-started/openapi-appengine.yaml +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 2017 Google Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# [START swagger] -swagger: "2.0" -info: - description: "A simple Google Cloud Endpoints API example." - title: "Endpoints Example" - version: "1.0.0" -host: "[YOUR-PROJECT-ID].appspot.com" -# [END swagger] -basePath: "/" -consumes: - - "application/json" -produces: - - "application/json" -schemes: - - "https" -paths: - "/echo": - post: - description: "Echo back a given message." - operationId: "echo" - produces: - - "application/json" - responses: - 200: - description: "Echo" - schema: - $ref: "#/definitions/echoMessage" - parameters: - - - description: "Message to echo" - in: body - name: message - required: true - schema: - $ref: "#/definitions/echoMessage" - security: - - api_key: [] - "/auth/info/googlejwt": - get: - description: "Returns the requests' authentication information." - operationId: "auth_info_google_jwt" - produces: - - "application/json" - responses: - 200: - description: "Authenication info." - schema: - $ref: "#/definitions/authInfoResponse" - security: - - api_key: [] - - google_jwt: [] - "/auth/info/googleidtoken": - get: - description: "Returns the requests' authentication information." - operationId: "authInfoGoogleIdToken" - produces: - - "application/json" - responses: - 200: - description: "Authenication info." - schema: - $ref: "#/definitions/authInfoResponse" - security: - - api_key: [] - - google_id_token: [] -definitions: - echoMessage: - properties: - message: - type: "string" - authInfoResponse: - properties: - id: - type: "string" - email: - type: "string" -securityDefinitions: - # This section configures basic authentication with an API key. - api_key: - type: "apiKey" - name: "key" - in: "query" - # This section configures authentication using Google API Service Accounts - # to sign a json web token. This is mostly used for server-to-server - # communication. - google_jwt: - authorizationUrl: "" - flow: "implicit" - type: "oauth2" - # This must match the 'iss' field in the JWT. - x-google-issuer: "jwt-client.endpoints.sample.google.com" - # Update this with your service account's email address. - x-google-jwks_uri: "https://www.googleapis.com/service_accounts/v1/jwk/YOUR-SERVICE-ACCOUNT-EMAIL" - # This must match the "aud" field in the JWT. You can add multiple - # audiences to accept JWTs from multiple clients. - x-google-audiences: "echo.endpoints.sample.google.com" - # This section configures authentication using Google OAuth2 ID Tokens. - # ID Tokens can be obtained using OAuth2 clients, and can be used to access - # your API on behalf of a particular user. - google_id_token: - authorizationUrl: "" - flow: "implicit" - type: "oauth2" - x-google-issuer: "https://accounts.google.com" - x-google-jwks_uri: "https://www.googleapis.com/oauth2/v3/certs" - # Your OAuth2 client's Client ID must be added here. You can add - # multiple client IDs to accept tokens from multiple clients. - x-google-audiences: "YOUR-CLIENT-ID" diff --git a/endpoints/getting-started/openapi.yaml b/endpoints/getting-started/openapi.yaml index cf88c724a5a..12f19c79523 100644 --- a/endpoints/getting-started/openapi.yaml +++ b/endpoints/getting-started/openapi.yaml @@ -20,6 +20,9 @@ info: version: "1.0.0" host: "echo-api.endpoints.YOUR-PROJECT-ID.cloud.goog" # [END swagger] +# For App Engine deployments, delete the above "host:" line and remove the "# " +# from the following line. Then change YOUR-PROJECT-ID to your project id. +# host: "YOUR-PROJECT-ID.appspot.com" basePath: "/" consumes: - "application/json"