私は、(Python &標準環境を使用して)モノアプリケーションのGoogle App Engineアプリケーションを1つのアプリケーション内の複数のサービスに分割しようとしています。デフォルトのサービスは、別のサービスのEndpointsフレームワークを使用して実装された呼び出しAPIです。Google Cloud Endpointsでサービス間認証を確認するにはどうすればよいですか?
デフォルトのサービスの認証を正しく確認する方法がわからないことを除いて、すべてうまく動作します(ローカル開発サーバーと本番環境の両方で動作させる)。
サービスを呼び出すには、google-api-python-client
とデフォルトのアプリケーションの資格情報を使用しています。
from googleapiclient.discovery import build
from oauth2client.client import GoogleCredentials
service = build(
name, version,
credentials=GoogleCredentials.get_application_default(),
discoveryServiceUrl=discovery_url)
service.client_token().execute()
マイサービスAPIコードは、生産endpoints.get_current_user()
では、次の
@endpoints.api(
name='test',
version='v1',
)
class TestApi(remote.Service):
@endpoints.method(
message_types.VoidMessage,
TestResponse,
path='test',
http_method='GET',
name='test')
def get_test(self, request):
# user = endpoints.get_current_user()
# if not user:
# raise endpoints.UnauthorizedException
return TestResponse(test='test')
のように見える正しいアプリケーションのユーザーを返すようですが、私は正しくそれが同じアプリケーションだことを検証する方法がわかりません。ローカル開発環境でendpoints.get_current_user()
はNone
を返します。
まだ問題を解決しましたか? :)あなたがした場合私は非常に興味がある –
@キングリロードはい、それはかなり簡単なことであることが判明しました。私はswaggerファイルを生成して展開する必要がありました。私は今日後で詳細な回答を投稿しようとします。 – Fedor
あなたは自分で解決できてうれしく思っています^^投稿について私に通知してください:)私は非常に興味があります –