2

次の例https://github.com/spring-cloud-samples/ssoを見ると、認可/認証サーバーへの URL が application.yml に事前定義されています。

問題は、アーキテクチャに構成サーバーと eureka がある場合、SSO サービスは、構成ファイルで事前定義されているのではなく、Eureka を介して認証サーバーを検出できるかということです。

localhost:8080 の代わりにサービス名を使用して構成ファイルを変更しようとしました。うまくいきませんでした。

oauth2:
    client:
        tokenUri: http://authserver/uaa/oauth/token
        authorizationUri: http://authserver/uaa/oauth/authorize
        clientId: acme
        clientSecret: acmesecret
     resource:
        jwt:
             keyUri: http://authserver/uaa/oauth/token_key
             id: openid
             serviceId: ${PREFIX:}resource

同じ思考プロセスに沿って、keyUri を JWT に提供する代わりに、構成サーバーを介して公開鍵を直接設定できますか? 構文は何ですか?

編集: さらにいくつかのテストを行った結果、tokenUri と authorizationUri は非常によく検出されているようです。localhost:8080 の代わりにサービス名を使用できます。唯一の問題は、keyUri をどうするかということです。

4

1 に答える 1

4

問題が解決しました。上記の編集に従って、tokenUri と authorizationUri は検出可能です。keyUri を使用する代わりに、keyValue を使用します。この方法では、SSO サーバーは Oauth サーバーに接続してキーを取得する必要がありません。次に、構成サーバーを使用して、他の値が入力されるのと同じ方法で keyValue を入力します。これにより、認証サーバーが完全に検出可能になります。

于 2014-12-15T05:10:07.240 に答える