3

CloudFoundry の UAA には、UAA サーバーの check_token エンドポイントに移動して認証トークンの検証を行う RemoteTokenServices クラス (Spring oauth2 の一部) があります。UAA には、それぞれリソース サーバーとクライアント アプリケーションとして機能するサンプルAPIアプリアプリケーションがあります。

サンプルAPI のspring-servlet.xml から:

<bean id="tokenServices" class="org.cloudfoundry.identity.uaa.oauth.RemoteTokenServices">
    <property name="checkTokenEndpointUrl" value="${checkTokenEndpointUrl}" />
    <property name="clientId" value="app" />
    <property name="clientSecret" value="appclientsecret" />
</bean>

このクラス (および Authorization ヘッダーにエンコードされたこれらの値を必要とする check_token エンドポイント) が clientId と clientSecret を必要とする理由を知っていますか? リソースサーバーからクライアントアプリケーションに依存しているように思えます。ここでクライアント シークレットの 1 つが「ハードコード」されている場合、複数のクライアント アプリケーションを使用するにはどうすればよいですか?

4

1 に答える 1