# Spring Cloud for Cloud Foundry ## 1. Discovery Here’s a Spring Cloud app with Cloud Foundry discovery: app.groovy ``` @Grab('org.springframework.cloud:spring-cloud-cloudfoundry') @RestController @EnableDiscoveryClient class Application { @Autowired DiscoveryClient client @RequestMapping('/') String home() { 'Hello from ' + client.getLocalServiceInstance() } } ``` If you run it without any service bindings: ``` $ spring jar app.jar app.groovy $ cf push -p app.jar ``` It will show its app name in the home page. The `DiscoveryClient` can lists all the apps in a space, according to the credentials it is authenticated with, where the space defaults to the one the client is running in (if any). If neither org nor space are configured, they default per the user’s profile in Cloud Foundry. ## 2. Single Sign On | |All of the OAuth2 SSO and resource server features moved to Spring Boot
in version 1.3. You can find documentation in the[Spring Boot user guide](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/).| |---|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| This project provides automatic binding from CloudFoundry service credentials to the Spring Boot features. If you have a CloudFoundry service called "sso", for instance, with credentials containing "client\_id", "client\_secret" and "auth\_domain", it will bind automatically to the Spring OAuth2 client that you enable with`@EnableOAuth2Sso` (from Spring Boot). The name of the service can be parameterized using `spring.oauth2.sso.serviceId`. ## 3. Configuration To see the list of all Spring Cloud Sloud Foundry related configuration properties please check [the Appendix page](appendix.html).