2016-12-05 1 views
1

私はここ.yo-rc.jsonある統合方法2(またはそれ以上)jHipsterアプリケーションをOAuth2経由で利用するには?

{ 
    "generator-jhipster": { 
     "jhipsterVersion": "3.12.0", 
     "baseName": "UserCenter", 
     "packageName": "com.company.test.user", 
     "packageFolder": "com/company/test/user", 
     "serverPort": "19090", 
     "authenticationType": "oauth2", 
     "hibernateCache": "hazelcast", 
     "clusteredHttpSession": false, 
     "websocket": false, 
     "databaseType": "sql", 
     "devDatabaseType": "mysql", 
     "prodDatabaseType": "mysql", 
     "searchEngine": false, 
     "messageBroker": false, 
     "buildTool": "maven", 
     "enableSocialSignIn": false, 
     "useSass": true, 
     "applicationType": "monolith", 
     "testFrameworks": [ 
     "gatling" 
     ], 
     "jhiPrefix": "jhi", 
     "enableTranslation": true, 
     "nativeLanguage": "zh-cn", 
     "languages": [ 
     "zh-cn", 
     "en" 
     ], 
     "serviceDiscoveryType": false 
    } 

}

を "UserCenter" という名前のアプリケーションを設定していると "MsgCenter" という名前の別のアプリケーションは、ここでは.yo-rc.jsonある

{ 
    "generator-jhipster": { 
    "jhipsterVersion": "3.12.0", 
    "baseName": "MsgCenter", 
    "packageName": "com.company.test.msg", 
    "packageFolder": "com/company/test/msg", 
    "serverPort": "19002", 
    "authenticationType": "session-based", 
    "hibernateCache": "hazelcast", 
    "clusteredHttpSession": false, 
    "websocket": false, 
    "databaseType": "sql", 
    "devDatabaseType": "mysql", 
    "prodDatabaseType": "mysql", 
    "searchEngine": false, 
    "messageBroker": false, 
    "buildTool": "maven", 
    "enableSocialSignIn": true, 
    "useSass": true, 
    "applicationType": "monolith", 
    "testFrameworks": [ 
     "gatling" 
    ], 
    "jhiPrefix": "jhi", 
    "enableTranslation": true, 
    "nativeLanguage": "zh-cn", 
    "languages": [ 
     "zh-cn", 
     "en" 
    ], 
    "serviceDiscoveryType": false, 
    "skipUserManagement": true 
    } 

}

私はMsgCenterがUserCenterのOAuth2を経由してログインするようにしたいです。どうすればいいですか?

は、情報を追加します。 私はこれのためにわからないこのページHow to perform actions on successful login via OAuth2 in jhipster

I'amを発見しました。

答えて

1

現在の設定では、「MsgCenter」という名前の2番目のアプリケーションは、最初は独自のユーザー管理を持つように構成されています。現時点では、モノリス用のoauth2 authserver用の自動生成されたカウンタ部分はありません(JHipsterのデフォルトオプション)。

まず、あなたは(@EnableResourceServerを使用)ResourceServerConfigurationにあなたのWebSecurityConfigurationを変更する:あなたは、次の手順を実行してのOAuth2リソースサーバーにあなたのMsgCenterを回すことができ、これまでどのように

。 UAAシナリオでJHipsterマイクロサービスを生成する場合、これを行う方法のサンプルがあります。しかし、その代わりにJWTの、ユーザー情報URIを経由して「正常な」方法を行うには、この

security: 
    oauth2: 
    client: 
     clientId: jhipsterOauth2SampleApplicationapp 
     clientSecret: my-secret-token-to-change-in-production # if still default 
     accessTokenUri: http://UserCenterUrl/oauth/access_token 
     userAuthorizationUri: http://UserCenterUrl/dialog/oauth 
    resource: 
     userInfoUri: http://UserCenterUrl/account 

のようにそれを設定https://spring.io/blog/2015/02/03/sso-with-oauth2-angular-js-and-spring-security-part-vを参照してくださいとあなたの第二段階ではその

から次のリンク、あなたはその後すべきMsgCenterからユーザー管理を削除します。これはもはや必要なくなりました。

このアプローチでは、リソースサーバーがユーザー情報uriでユーザーの詳細を取得している認証フローを使用しています。

もう1つの方法は、JWTトークンを使用することです。 JHipsterは、認証とリソースサーバーを完全にoauth2に設定して、microservice UAA setupで相互に接続しています。これは、正しい実装を探すサンプルコードとして役立ちます。

+0

感謝します。フィードバックとフィードバックをお寄せください。 –

関連する問題