Skip to content

Commit c12c931

Browse files
alexisluquedavidpatrick
authored andcommitted
Update logout (#7447)
1 parent a68df02 commit c12c931

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

articles/quickstart/webapp/java-spring-security-mvc/01-login.md

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ useCase: quickstart
1414
---
1515
<%= include('../_includes/_getting_started', { library: 'Java Spring Security', callback: 'http://localhost:3000/callback' }) %>
1616

17+
<%= include('../../../_includes/_logout_url') %>
18+
1719
<%= include('_includes/_setup') %>
1820

1921
<%= include('_includes/_login') %>

articles/quickstart/webapp/java-spring-security-mvc/_includes/_login.md

+15-6
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ Next, define the rules that will prevent unauthenticated users to access our pro
6868
```java
6969
// src/main/java/com/auth0/example/security/AppConfig.java
7070

71+
@Bean
72+
public LogoutSuccessHandler logoutSuccessHandler() {
73+
return new LogoutController();
74+
}
75+
7176
@Override
7277
protected void configure(HttpSecurity http) throws Exception {
7378
http.csrf().disable();
@@ -76,7 +81,7 @@ protected void configure(HttpSecurity http) throws Exception {
7681
.antMatchers("/callback", "/login").permitAll()
7782
.antMatchers("/**").authenticated()
7883
.and()
79-
.logout().permitAll();
84+
.logout().logoutSuccessHandler(logoutSuccessHandler()).permitAll();
8085
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER);
8186
}
8287
```
@@ -100,11 +105,15 @@ To authenticate the users you will redirect them to the login page which uses [L
100105

101106
@RequestMapping(value = "/login", method = RequestMethod.GET)
102107
protected String login(final HttpServletRequest req) {
103-
String redirectUri = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/callback";
104-
String authorizeUrl = controller.buildAuthorizeUrl(req, redirectUri)
105-
.withAudience(String.format("https://%s/userinfo", appConfig.getDomain()))
106-
.build();
107-
return "redirect:" + authorizeUrl;
108+
String redirectUri = req.getScheme() + "://" + req.getServerName();
109+
if ((req.getScheme().equals("http") && req.getServerPort() != 80) || (req.getScheme().equals("https") && req.getServerPort() != 443)) {
110+
redirectUri += ":" + req.getServerPort();
111+
}
112+
redirectUri += "/callback";
113+
String authorizeUrl = controller.buildAuthorizeUrl(req, redirectUri)
114+
.withAudience(String.format("https://%s/userinfo", appConfig.getDomain()))
115+
.build();
116+
return "redirect:" + authorizeUrl;
108117
}
109118
```
110119

0 commit comments

Comments
 (0)