|
1 | 1 | package org.cloudfoundry.identity.samples.password;
|
2 | 2 |
|
3 | 3 | import java.io.IOException;
|
4 |
| -import java.util.Arrays; |
5 | 4 | import java.util.Collections;
|
6 | 5 | import java.util.Map;
|
7 | 6 |
|
8 |
| -import com.fasterxml.jackson.core.JsonParseException; |
9 | 7 | import org.apache.commons.codec.binary.Base64;
|
10 | 8 | import org.cloudfoundry.identity.samples.oauth2.composite.CompositeAccessTokenProvider;
|
11 | 9 | import org.springframework.beans.factory.annotation.Autowired;
|
|
18 | 16 | import org.springframework.security.oauth2.client.OAuth2RestTemplate;
|
19 | 17 | import org.springframework.security.oauth2.client.token.AccessTokenProvider;
|
20 | 18 | import org.springframework.security.oauth2.client.token.AccessTokenProviderChain;
|
21 |
| -import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider; |
22 |
| -import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider; |
23 |
| -import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitAccessTokenProvider; |
24 |
| -import org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordAccessTokenProvider; |
25 | 19 | import org.springframework.stereotype.Controller;
|
26 | 20 | import org.springframework.ui.Model;
|
27 | 21 | import org.springframework.web.bind.annotation.RequestMapping;
|
|
38 | 32 | import org.springframework.web.bind.annotation.RequestParam;
|
39 | 33 |
|
40 | 34 | import javax.annotation.PostConstruct;
|
| 35 | +import javax.servlet.http.HttpServletRequest; |
| 36 | +import javax.servlet.http.HttpServletResponse; |
| 37 | + |
| 38 | +import static org.springframework.web.bind.annotation.RequestMethod.GET; |
41 | 39 |
|
42 | 40 | @Configuration
|
43 | 41 | @EnableAutoConfiguration
|
@@ -133,4 +131,11 @@ ResourceOwnerPasswordResourceDetails passwordGrantResourceDetails() {
|
133 | 131 | public OAuth2RestTemplate passwordGrantRestTemplate() {
|
134 | 132 | return new OAuth2RestTemplate(passwordGrantResourceDetails());
|
135 | 133 | }
|
| 134 | + |
| 135 | + |
| 136 | + @RequestMapping(value="/logout", method = GET) |
| 137 | + public String logout(HttpServletRequest request, HttpServletResponse response) throws IOException { |
| 138 | + this.oAuth2RestTemplate.getOAuth2ClientContext().setAccessToken(null); |
| 139 | + return "redirect:/password"; |
| 140 | + } |
136 | 141 | }
|
0 commit comments