Skip to content

Commit 66d4a05

Browse files
committed
#60: Use a single field in Auth for the last generated request id
1 parent 8f7ecb4 commit 66d4a05

2 files changed

Lines changed: 10 additions & 24 deletions

File tree

core/src/main/java/com/onelogin/saml2/Auth.java

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,9 @@ public class Auth {
9797
private String errorReason;
9898

9999
/**
100-
* The id of the last AuthnRequest generated
100+
* The id of the last request (Authn or Logout) generated
101101
*/
102-
private String lastLoginRequestId;
103-
104-
/**
105-
* The id of the last LogoutRequest generated
106-
*/
107-
private String lastLogoutRequestId;
102+
private String lastRequestId;
108103

109104
/**
110105
* Initializes the SP SAML instance.
@@ -242,7 +237,7 @@ public void login(String returnTo, Boolean forceAuthn, Boolean isPassive, Boolea
242237

243238
LOGGER.debug("AuthNRequest sent to " + ssoUrl + " --> " + samlRequest);
244239
Util.sendRedirect(response, ssoUrl, parameters);
245-
lastLoginRequestId = authnRequest.getId();
240+
lastRequestId = authnRequest.getId();
246241
}
247242

248243
/**
@@ -306,7 +301,7 @@ public void logout(String returnTo, String nameId, String sessionIndex) throws I
306301
String sloUrl = getSLOurl();
307302
LOGGER.debug("Logout request sent to " + sloUrl + " --> " + samlLogoutRequest);
308303
Util.sendRedirect(response, sloUrl, parameters);
309-
lastLogoutRequestId = logoutRequest.getId();
304+
lastRequestId = logoutRequest.getId();
310305
}
311306

312307
/**
@@ -555,19 +550,11 @@ public String getLastErrorReason()
555550
}
556551

557552
/**
558-
* @return the id of the last AuthnRequest generated, null if none
559-
*/
560-
public String getLastLoginRequestId()
561-
{
562-
return lastLoginRequestId;
563-
}
564-
565-
/**
566-
* @return the id of the last LogoutRequest generated, null if none
553+
* @return the id of the last request generated (AuthnRequest or LogoutRequest), null if none
567554
*/
568-
public String getLastLogoutRequestId()
555+
public String getLastRequestId()
569556
{
570-
return lastLogoutRequestId;
557+
return lastRequestId;
571558
}
572559

573560
/**

core/src/test/java/com/onelogin/saml2/test/AuthTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,7 @@ public void testConstructor() throws IOException, SettingsException {
9393
Saml2Settings settings = new SettingsBuilder().fromFile("onelogin.saml.properties").build();
9494
assertEquals(settings.getIdpEntityId(), auth.getSettings().getIdpEntityId());
9595
assertEquals(settings.getSpEntityId(), auth.getSettings().getSpEntityId());
96-
assertNull(auth.getLastLoginRequestId());
97-
assertNull(auth.getLastLogoutRequestId());
96+
assertNull(auth.getLastRequestId());
9897
}
9998

10099
/**
@@ -900,7 +899,7 @@ public void testLogin() throws IOException, SettingsException, URISyntaxExceptio
900899
Auth auth = new Auth(settings, request, response);
901900
auth.login();
902901
verify(response).sendRedirect(matches("https:\\/\\/pitbulk.no-ip.org\\/simplesaml\\/saml2\\/idp\\/SSOService.php\\?SAMLRequest=(.)*&RelayState=http%3A%2F%2Flocalhost%3A8080%2Finitial.jsp"));
903-
assertThat(auth.getLastLoginRequestId(), startsWith(Util.UNIQUE_ID_PREFIX));
902+
assertThat(auth.getLastRequestId(), startsWith(Util.UNIQUE_ID_PREFIX));
904903
}
905904

906905
/**
@@ -1016,7 +1015,7 @@ public void testLogout() throws IOException, SettingsException, XMLEntityExcepti
10161015
auth.logout();
10171016

10181017
verify(response).sendRedirect(matches("https:\\/\\/pitbulk.no-ip.org\\/simplesaml\\/saml2\\/idp\\/SingleLogoutService.php\\?SAMLRequest=(.)*&RelayState=http%3A%2F%2Flocalhost%3A8080%2Finitial.jsp"));
1019-
assertThat(auth.getLastLogoutRequestId(), startsWith(Util.UNIQUE_ID_PREFIX));
1018+
assertThat(auth.getLastRequestId(), startsWith(Util.UNIQUE_ID_PREFIX));
10201019
}
10211020

10221021
/**

0 commit comments

Comments
 (0)