2016-12-05 23 views
1

我已成立了一个名为应用 “UserCenter” 这里是.yo-rc.json如何通过OAuth2集成2(或更多)jHipster应用程序?

{ 
    "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 
    } 

}

,并命名为 “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

我'不知道这一点。

回答

1

使用您当前的设置,您的第二个名为“MsgCenter”的应用程序最初配置为拥有自己的用户管理。目前,没有自动生成的用于monoliths(默认选项JHipster)的oauth2 authserver的计数器部分。

如何过您可以通过以下步骤将您的MsgCenter成的oauth2资源服务器:

首先,你改变你的WebSecurityConfiguration成ResourceServerConfiguration(使用@EnableResourceServer)。如果您使用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检索用户详细信息。

另一种方法是使用JWT令牌。 JHipster在microservice UAA setup中提供完整的oauth2设置,授权和资源服务器相互连接,这可能会帮助您以示例代码的形式查找正确的实现。

+0

谢谢我会尝试和反馈。 –

相关问题