1

Googleクラウドエンドポイントのドキュメントが拡張サービスプロキシの設定ファイルでカスタムセキュリティ定義のためにこの仕様が用意されていますGoogle App Engineの柔軟な(Node.jsの)とクラウドエンドポイントのカスタム認証

securityDefinitions: 
    your_custom_auth_id: 
     authorizationUrl: "" 
     flow: "implicit" 
     type: "oauth2" 
     # The value below should be unique 
     x-google-issuer: "issuer of the token" 
     x-google-jwks_uri: "url to the public key" 
     # Optional. Replace YOUR-CLIENT-ID with your client ID 
     x-google-audiences: "YOUR-CLIENT-ID" 

方法に関するドキュメントこれを実装するのはApp Engine フレキシブルです。誰もがこれを設定する方法の例を持っているか、それが可能であることを証明することができますか?特に、authorizationUrlのインタフェースは何ですか?承認サービスのURL(Extensibleサービスプロキシによって検証されるJWTトークンを提供する)を配置して、トークンがauthorizationURLで無効な場合、エンドポイントがそれにリダイレクトするようにすることはできますか?

答えて

1

あなたは正しいですか? 'authorizationUrl'はOpenAPI Swagger specific annotationで、クライアントが実際のJWT(JSON Webトークン)を取得するために使用するURL endpoint of your log in formを指します。

クライアントは、ログイン後にApp EngineアプリケーションからJWTを取得すると、JWTを使用してJWTを使用して、Cloud Endpoint APIへのリクエストを承認することができます。


あなたのNode.js App Engineアプリケーションは、(多くの言語でauth0 offers their own)JWTを生成するために、任意のJWT signing libraryを使用します。

トークンを生成するには、標準の 'JWT'とハッシュヘッダーを指定し、特定のUserオブジェクトJSONペイロード(このトークンはこの特定のユーザーに固有である必要があるため)を秘密/公開キーとともに追加します。それを発生させながら

JWTライブラリも自動的に必要なJWT claimsを提供する必要があり、ちょうどあなたが、ライブラリが使用する発行者と「X-グーグル-発行者」と「X-グーグルなどご'openapi.yaml'であなたの秘密/公開鍵を供給確保-jwks_uri '


あなたはJWTを生成し、使用する方法についての詳細を学ぶためにJWT.io guideに従うことができます。また、App Engine Flexible guidecode your applicationの順にJWTを処理することもできます。

関連する問題