Javaクライアントを使用してGoogle Cloud Endpoint APIにクライアントIDのハードコードに関する質問があります。JavaクラウドエンドポイントのハードコードされたクライアントIDとuseDatastoreForAdditionalConfigの使用
特定のプロジェクトに関連付けられたクライアントIDを持つ複数のプロジェクトがあり、プロジェクト固有のGAEアーチファクト(WAR)を作成する必要があることが判明しました。これは、マイクロサービスアーキテクチャを使用しており、アーチファクトのコンビナトリアルな爆発が存在するため、理想的ではありません。
環境に依存しないアーチファクトを作成しようとすると、APIの機能が文書化されていないので、useDatastoreForAdditionalConfigという属性が使用されています。
ではなく、以下の、説明するために:@Api(
name = "example",
version = "v1",
scopes = { "example-scope" },
clientIds = { "example-client-id" },
)
は、我々は使用します。私たちはこの機能を聞いたことがあるしかし
@Api(name = "example",
version = "v1",
useDatastoreForAdditionalConfig = AnnotationBoolean.TRUE
)
は、今後のリリースで廃止されます。私の疑問は、私たちが人工物を作る方法に何か間違っているのだろうか? Googleのビルドプロセスに何も問題がなければ、Googleはこれを問題として認識していますか?Javaでプロジェクトに依存しないGAEアーチファクトを作成する計画はありますか?
ドン:
はその後、我々はクライアントIDをプログラムでアサーションの世話をしたカスタム認証を作成useDatastoreForAdditionalConfig'を使用しないでください。 IDトークンではなくOAuth2を使用している場合は、Constant.SKIP_CLIENT_ID_CHECKを使用してクライアントIDを自分で確認できます。 – saiyr
@saiyrこれは役に立つかもしれませんが、これはPython APIにしかないようですが、SKIP_CLIENT_ID_CHECKに相当するJavaはありますか? – druridge
はい、spi.Constantを見てください。 – saiyr