0

Je tente de me connecter à un serveur de configuration de config de cloud cloud (service) hébergé dans une fonderie de nuages ​​pivotante.Recherche d'une documentation complète sur le groupe de propriétés spring.cloud.config pour les applications client

Le service de configuration est sécurisé avec OAuth2 et je n'arrive pas à obtenir l'authentification du client auprès du serveur de configuration. Je reçois continuellement un message 401 non autorisé.

Je n'ai pas réussi à trouver la bonne combinaison de propriétés dans mon fichier bootstrap.yml.

Voici mon bootstrap.yml actuel, vous pouvez voir qu'il y a beaucoup de configurations différentes que j'ai essayées, je suis même allé jusqu'à supprimer Pivotal Cloud Foundry de l'équation et j'essaie de le frapper depuis mon localhost pendant que je travaille sur ces erreurs de sécurité.

bootstrap.yml:

#Search for System Property of cloud config server, otherwise use localhost 

config server. 
spring: 
    cloud: 
    config: 
     enabled: true 
     #uri: ${vcap.services.config-server.credentials.uri:http://localhost:8888} 
     uri: https://config-fa3bfbbf-546c-a2c0-b07a-136da18a4fa1.host.domain.com 
     authorization: ${security.oauth2.client} 
     #username: ${vcap.services.config-server.credentials.client_id} 
     #password: ${vcap.services.config-server.credentials.client_secret} 
     name: app  
     #token: ${security.oauth2.client.token-name} 
security: 
    basic: 
    enabled: false 
    oauth2: 
    client: 
     #id: ${vcap.services.config-server.credentials.client_id} 
     #client-secret: ${vcap.services.config-server.credentials.client_secret} 
     #access-token-uri: ${vcap.services.config-server.credentials.access_token_uri} 
     id: p-config-server-9281df10-bc67-49a2-863b-48844a1ce724 
     client-secret: UIcc1m6lvvHK 
     access-token-uri: https://p-spring-cloud-services.uaa.domain.host.com/oauth/token 
     token-name: config-server-token 

Toute idée, des conseils ou des pointeurs sont appréciés.

Je continuerai à poster des réponses à cette question si je suis capable de faire des progrès pour résoudre cette erreur 401.

plutôt un message d'erreur non descriptif pour ce que ça vaut:

GET request for "https://config-fa3bfbbf-546c-a2c0-b07a-136da18a4fa1.host.domain.com/app/dev" resulted in 401 (Unauthorized); invoking error handler 
Could not locate PropertySource: 401 Unauthorized 

Répondre

0

s'avère que j'étais trop compliquer la question. Il me manquait une dépendance dans mon pom, et cela nécessitait un bootstrap.yml simplifié.

bootstrap.yml final:

spring: 
    profiles: cloud 
    application: 
    name: app 

Cela garantit qu'il est utilisé lors de l'exécution sur le nuage (PCF fournit le profil « nuage »), et le nom de l'application fournie uniquement dans bootstrap.yml est utilisé lorsque vous demandez le serveur de configuration pour les fichiers de propriétés (Voir ce document: https://cloud.spring.io/spring-cloud-config/spring-cloud-config.html)

Et dans mon pom.xml j'ajouté ces dépendances:

<dependency> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-starter-config</artifactId> 
    <version>1.2.2.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>io.pivotal.spring.cloud</groupId> 
    <artifactId>spring-cloud-services-starter-config-client</artifactId> 
    <version>1.3.1.RELEASE</version> 
</dependency> 
<dependency> 
    <groupId>org.springframework.security.oauth</groupId> 
    <artifactId>spring-security-oauth2</artifactId> 
</dependency> 

Je suis s jusqu'à ne pas être sûr si la dépendance de oauth2 était exigée, mais pour le moment je n'ai pas essayé ceci sans elle. En n'appliquant aucune configuration supplémentaire au groupe de propriétés spring.cloud.config, cela permet à spring-cloud-services-starter-config d'extraire toutes les propriétés dont il a besoin dans vcap.services et de lier l'application au groupe de propriétés print.help.config. configurez le serveur et remplissez toutes les propriétés nécessaires pour accéder au serveur de configuration.