Skip to content

Commit 43e9fbc

Browse files
committed
fixed issuer on login page, added CSRF to login / logout, closes mitreid-connect#870, closes mitreid-connect#824, closes mitreid-connect#875
1 parent ca23521 commit 43e9fbc

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed

openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/topbar.tag

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
<ul class="dropdown-menu pull-right">
9090
<li><a href="manage/#user/profile" data-toggle="collapse" data-target=".nav-collapse">${ longName }</a></li>
9191
<li class="divider"></li>
92-
<li><a href="logout" data-toggle="collapse" data-target=".nav-collapse"><i class="icon-remove"></i> <spring:message code="topbar.logout"/></a></li>
92+
<li><a href="" data-toggle="collapse" data-target=".nav-collapse" class="logoutLink"><i class="icon-remove"></i> <spring:message code="topbar.logout"/></a></li>
9393
</ul>
9494
</li>
9595
</security:authorize>
@@ -105,17 +105,29 @@
105105
<security:authorize access="hasRole('ROLE_USER')">
106106
<li><a href="manage/#user/profile">${ longName }</a></li>
107107
<li class="divider"></li>
108-
<li><a href="logout"><i class="icon-remove"></i> <spring:message code="topbar.logout"/></a></li>
108+
<li><a href="" class="logoutLink"><i class="icon-remove"></i> <spring:message code="topbar.logout"/></a></li>
109109
</security:authorize>
110110
<security:authorize access="!hasRole('ROLE_USER')">
111111
<li>
112112
<a href="login" data-toggle="collapse" data-target=".nav-collapse"><i class="icon-lock"></i> <spring:message code="topbar.login"/></a>
113113
</li>
114114
</security:authorize>
115115
</ul>
116-
116+
<form action="${ config.issuer }${ config.issuer.endsWith('/') ? '' : '/' }logout" method="POST" class="hidden" id="logoutForm">
117+
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
118+
</form>
119+
117120
</div><!--/.nav-collapse -->
118121
</c:if>
119122
</div>
120123
</div>
121124
</div>
125+
126+
<script type="text/javascript">
127+
$(document).ready(function() {
128+
$('.logoutLink').on('click', function(e) {
129+
e.preventDefault();
130+
$('#logoutForm').submit();
131+
});
132+
});
133+
</script>

openid-connect-server-webapp/src/main/webapp/WEB-INF/user-context.xml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@
3737

3838
<mvc:view-controller path="/login" view-name="login" />
3939

40-
<security:http pattern="/login**" use-expressions="true" entry-point-ref="http403EntryPoint">
41-
<security:intercept-url pattern="/login**" access="permitAll"/>
42-
</security:http>
43-
4440
<security:http disable-url-rewriting="true" use-expressions="true">
4541
<security:form-login login-page="/login" authentication-failure-url="/login?error=failure" authentication-success-handler-ref="authenticationTimeStamper" />
4642
<security:intercept-url pattern="/authorize" access="hasRole('ROLE_USER')" />
@@ -52,6 +48,7 @@
5248
<security:headers>
5349
<security:frame-options policy="DENY" />
5450
</security:headers>
51+
<security:csrf />
5552
</security:http>
5653

5754
</beans>

openid-connect-server-webapp/src/main/webapp/WEB-INF/views/login.jsp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ $(document).ready(function() {
2626

2727
<div class="row-fluid">
2828
<div class="span6 offset1 well">
29-
<form action="<%=request.getContextPath()%>/j_spring_security_check"
30-
method="POST">
29+
<form action="${ config.issuer }${ config.issuer.endsWith('/') ? '' : '/' }j_spring_security_check" method="POST">
3130
<div>
3231
<div class="input-prepend input-block-level">
3332
<span class="add-on"><i class="icon-user"></i></span>
@@ -41,6 +40,7 @@ $(document).ready(function() {
4140
</div>
4241
</div>
4342
<div>
43+
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
4444
<input type="submit" class="btn" value="Login" name="submit">
4545
</div>
4646
</form>

0 commit comments

Comments
 (0)