Commit 0ba6d8da authored by Andy Wilkinson's avatar Andy Wilkinson

Switch to Yahoo for OIDC as Google's cert is not yet trusted by Java 11

Until the fix for JDK-8209506 [1] is available in Java 11 builds,
SSL connections to services using Google's SSL certificate do not work
due to a lack of trust. This affects both our OAuth2 client samples
which were using https://accounts.google.com as an OpenID Connect
provider.

This commit switches the two samples to use Yahoo in place of Google.

See gh-14028

[1] https://bugs.openjdk.java.net/browse/JDK-8209506
parent 4a68e2e4
...@@ -17,9 +17,9 @@ spring: ...@@ -17,9 +17,9 @@ spring:
provider: github provider: github
scope: user:email scope: user:email
redirect-uri-template: http://localhost:8080/login/oauth2/code/github redirect-uri-template: http://localhost:8080/login/oauth2/code/github
google-oidc: yahoo-oidc:
client-id: ${GOOGLE-CLIENT-ID} client-id: ${YAHOO-CLIENT-ID}
client-secret: ${GOOGLE-CLIENT-SECRET} client-secret: ${YAHOO-CLIENT-SECRET}
provider: provider:
google-oidc: yahoo-oidc:
issuer-uri: https://accounts.google.com issuer-uri: https://api.login.yahoo.com/
\ No newline at end of file \ No newline at end of file
...@@ -34,8 +34,8 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -34,8 +34,8 @@ import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = { @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = {
"APP-CLIENT-ID=my-client-id", "APP-CLIENT-SECRET=my-client-secret", "APP-CLIENT-ID=my-client-id", "APP-CLIENT-SECRET=my-client-secret",
"GOOGLE-CLIENT-ID=my-google-client-id", "YAHOO-CLIENT-ID=my-yahoo-client-id",
"GOOGLE-CLIENT-SECRET=my-google-client-secret" }) "YAHOO-CLIENT-SECRET=my-yahooo-client-secret" })
public class SampleOAuth2ClientApplicationTests { public class SampleOAuth2ClientApplicationTests {
@LocalServerPort @LocalServerPort
...@@ -57,7 +57,7 @@ public class SampleOAuth2ClientApplicationTests { ...@@ -57,7 +57,7 @@ public class SampleOAuth2ClientApplicationTests {
ResponseEntity<String> entity = this.restTemplate.getForEntity("/login", ResponseEntity<String> entity = this.restTemplate.getForEntity("/login",
String.class); String.class);
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
assertThat(entity.getBody()).contains("/oauth2/authorization/google"); assertThat(entity.getBody()).contains("/oauth2/authorization/yahoo");
assertThat(entity.getBody()).contains("/oauth2/authorization/github-client-1"); assertThat(entity.getBody()).contains("/oauth2/authorization/github-client-1");
assertThat(entity.getBody()).contains("/oauth2/authorization/github-client-2"); assertThat(entity.getBody()).contains("/oauth2/authorization/github-client-2");
} }
......
...@@ -17,9 +17,9 @@ spring: ...@@ -17,9 +17,9 @@ spring:
provider: github provider: github
scope: user:email scope: user:email
redirect-uri-template: http://localhost:8080/login/oauth2/code/github redirect-uri-template: http://localhost:8080/login/oauth2/code/github
google-oidc: yahoo-oidc:
client-id: ${GOOGLE-CLIENT-ID} client-id: ${YAHOO-CLIENT-ID}
client-secret: ${GOOGLE-CLIENT-SECRET} client-secret: ${YAHOO-CLIENT-SECRET}
provider: provider:
google-oidc: yahoo-oidc:
issuer-uri: https://accounts.google.com issuer-uri: https://api.login.yahoo.com/
\ No newline at end of file \ No newline at end of file
...@@ -29,8 +29,8 @@ import static org.assertj.core.api.Assertions.assertThat; ...@@ -29,8 +29,8 @@ import static org.assertj.core.api.Assertions.assertThat;
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = { @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = {
"APP-CLIENT-ID=my-client-id", "APP-CLIENT-SECRET=my-client-secret", "APP-CLIENT-ID=my-client-id", "APP-CLIENT-SECRET=my-client-secret",
"GOOGLE-CLIENT-ID=my-google-client-id", "YAHOO-CLIENT-ID=my-google-client-id",
"GOOGLE-CLIENT-SECRET=my-google-client-secret" }) "YAHOO-CLIENT-SECRET=my-google-client-secret" })
public class SampleReactiveOAuth2ClientApplicationTests { public class SampleReactiveOAuth2ClientApplicationTests {
@Autowired @Autowired
...@@ -47,7 +47,7 @@ public class SampleReactiveOAuth2ClientApplicationTests { ...@@ -47,7 +47,7 @@ public class SampleReactiveOAuth2ClientApplicationTests {
byte[] body = this.webTestClient.get().uri("/login").exchange().expectStatus() byte[] body = this.webTestClient.get().uri("/login").exchange().expectStatus()
.isOk().returnResult(String.class).getResponseBodyContent(); .isOk().returnResult(String.class).getResponseBodyContent();
String bodyString = new String(body); String bodyString = new String(body);
assertThat(bodyString).contains("/oauth2/authorization/google"); assertThat(bodyString).contains("/oauth2/authorization/yahoo");
assertThat(bodyString).contains("/oauth2/authorization/github-client-1"); assertThat(bodyString).contains("/oauth2/authorization/github-client-1");
assertThat(bodyString).contains("/oauth2/authorization/github-client-2"); assertThat(bodyString).contains("/oauth2/authorization/github-client-2");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment