Skip to content

Commit ae76b52

Browse files
author
Dave Syer
committed
Create UserInfoTokenServices with an explicit RestTemplate
It's actually optional for most providers, but it doesn't hurt to make it explicit incase it is needed. Fixes spring-guidesgh-44
1 parent 797e492 commit ae76b52

File tree

6 files changed

+21
-12
lines changed

6 files changed

+21
-12
lines changed

auth-server/README.adoc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,10 @@ private Filter ssoFilter(ClientResources client, String path) {
3636
OAuth2ClientAuthenticationProcessingFilter filter = new OAuth2ClientAuthenticationProcessingFilter(path);
3737
OAuth2RestTemplate template = new OAuth2RestTemplate(client.getClient(), oauth2ClientContext);
3838
filter.setRestTemplate(template);
39-
filter.setTokenServices(new UserInfoTokenServices(
40-
client.getResource().getUserInfoUri(), client.getClient().getClientId()));
39+
UserInfoTokenServices tokenServices = new UserInfoTokenServices(
40+
client.getResource().getUserInfoUri(), client.getClient().getClientId());
41+
tokenServices.setRestTemplate(template);
42+
filter.setTokenServices(tokenServices);
4143
return filter;
4244
}
4345
----

auth-server/src/main/java/com/example/SocialApplication.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
4141
import org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter;
4242
import org.springframework.security.oauth2.client.filter.OAuth2ClientContextFilter;
43-
import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails;
4443
import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails;
4544
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
4645
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client;
@@ -131,8 +130,10 @@ private Filter ssoFilter(ClientResources client, String path) {
131130
path);
132131
OAuth2RestTemplate template = new OAuth2RestTemplate(client.getClient(), oauth2ClientContext);
133132
filter.setRestTemplate(template);
134-
filter.setTokenServices(new UserInfoTokenServices(
135-
client.getResource().getUserInfoUri(), client.getClient().getClientId()));
133+
UserInfoTokenServices tokenServices = new UserInfoTokenServices(
134+
client.getResource().getUserInfoUri(), client.getClient().getClientId());
135+
tokenServices.setRestTemplate(template);
136+
filter.setTokenServices(tokenServices);
136137
return filter;
137138
}
138139

github/README.adoc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,17 @@ private Filter ssoFilter() {
4545
OAuth2ClientAuthenticationProcessingFilter facebookFilter = new OAuth2ClientAuthenticationProcessingFilter("/login/facebook");
4646
OAuth2RestTemplate facebookTemplate = new OAuth2RestTemplate(facebook(), oauth2ClientContext);
4747
facebookFilter.setRestTemplate(facebookTemplate);
48-
facebookFilter.setTokenServices(new UserInfoTokenServices(facebookResource().getUserInfoUri(), facebook().getClientId()));
48+
UserInfoTokenServices tokenServices = new UserInfoTokenServices(facebook.getUserInfoUri(), facebook().getClientId());
49+
tokenServices.setRestTemplate(oAuth2RestTemplate);
50+
facebookFilter.setTokenServices(tokenServices);
4951
filters.add(facebookFilter);
5052
5153
OAuth2ClientAuthenticationProcessingFilter githubFilter = new OAuth2ClientAuthenticationProcessingFilter("/login/github");
5254
OAuth2RestTemplate githubTemplate = new OAuth2RestTemplate(github(), oauth2ClientContext);
5355
githubFilter.setRestTemplate(githubTemplate);
54-
githubFilter.setTokenServices(new UserInfoTokenServices(githubResource().getUserInfoUri(), github().getClientId()));
56+
tokenServices = new UserInfoTokenServices(github().getUserInfoUri(), github().getClientId());
57+
tokenServices.setRestTemplate(oAuth2RestTemplate);
58+
githubFilter.setTokenServices(tokenServices);
5559
filters.add(githubFilter);
5660
5761
filter.setFilters(filters);

github/src/main/java/com/example/SocialApplication.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
4141
import org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter;
4242
import org.springframework.security.oauth2.client.filter.OAuth2ClientContextFilter;
43-
import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails;
4443
import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails;
4544
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
4645
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client;
@@ -127,8 +126,7 @@ private Filter ssoFilter() {
127126
}
128127

129128
private Filter ssoFilter(ClientResources client, String path) {
130-
OAuth2ClientAuthenticationProcessingFilter oAuth2ClientAuthenticationFilter = new OAuth2ClientAuthenticationProcessingFilter(
131-
path);
129+
OAuth2ClientAuthenticationProcessingFilter oAuth2ClientAuthenticationFilter = new OAuth2ClientAuthenticationProcessingFilter(path);
132130
OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(client.getClient(), oauth2ClientContext);
133131
oAuth2ClientAuthenticationFilter.setRestTemplate(oAuth2RestTemplate);
134132
UserInfoTokenServices tokenServices = new UserInfoTokenServices(client.getResource().getUserInfoUri(),

manual/README.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ private Filter ssoFilter() {
7070
OAuth2ClientAuthenticationProcessingFilter facebookFilter = new OAuth2ClientAuthenticationProcessingFilter("/login/facebook");
7171
OAuth2RestTemplate facebookTemplate = new OAuth2RestTemplate(facebook(), oauth2ClientContext);
7272
facebookFilter.setRestTemplate(facebookTemplate);
73-
facebookFilter.setTokenServices(new UserInfoTokenServices(facebookResource().getUserInfoUri(), facebook().getClientId()));
73+
UserInfoTokenServices tokenServices = new UserInfoTokenServices(facebookResource().getUserInfoUri(), facebook().getClientId());
74+
tokenServices.setRestTemplate(facebookTemplate);
75+
facebookFilter.setTokenServices(tokenServices);
7476
return facebookFilter;
7577
}
7678
----

manual/src/main/java/com/example/SocialApplication.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
3434
import org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter;
3535
import org.springframework.security.oauth2.client.filter.OAuth2ClientContextFilter;
36-
import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails;
3736
import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails;
3837
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client;
3938
import org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint;
@@ -84,6 +83,9 @@ private Filter ssoFilter() {
8483
"/login/facebook");
8584
OAuth2RestTemplate facebookTemplate = new OAuth2RestTemplate(facebook(), oauth2ClientContext);
8685
facebookFilter.setRestTemplate(facebookTemplate);
86+
UserInfoTokenServices tokenServices = new UserInfoTokenServices(facebookResource().getUserInfoUri(),
87+
facebook().getClientId());
88+
tokenServices.setRestTemplate(facebookTemplate);
8789
facebookFilter.setTokenServices(
8890
new UserInfoTokenServices(facebookResource().getUserInfoUri(), facebook().getClientId()));
8991
return facebookFilter;

0 commit comments

Comments
 (0)