use of org.pac4j.core.context.session.MockSessionStore in project pac4j by pac4j.
the class ParameterExtractorTests method testRetrievePostParameterOk.
@Test
public void testRetrievePostParameterOk() {
final var context = MockWebContext.create().setRequestMethod(HttpConstants.HTTP_METHOD.POST.name()).addRequestParameter(GOOD_PARAMETER, VALUE);
final var credentials = (TokenCredentials) postExtractor.extract(context, new MockSessionStore()).get();
assertEquals(VALUE, credentials.getToken());
}
use of org.pac4j.core.context.session.MockSessionStore in project pac4j by pac4j.
the class PostSAML2ClientTests method testRelayState.
@Test
public void testRelayState() {
final var client = getClient();
final WebContext context = MockWebContext.create();
final SessionStore sessionStore = new MockSessionStore();
sessionStore.set(context, SAML2StateGenerator.SAML_RELAY_STATE_ATTRIBUTE, "relayState");
final var action = (OkAction) client.getRedirectionAction(context, sessionStore).get();
assertTrue(action.getContent().contains("<input type=\"hidden\" name=\"RelayState\" value=\"relayState\"/>"));
}
use of org.pac4j.core.context.session.MockSessionStore in project pac4j by pac4j.
the class PostSAML2ClientTests method testForceAuthIsSetForPostBinding.
@Test
public void testForceAuthIsSetForPostBinding() {
final var client = getClient();
client.getConfiguration().setForceAuth(true);
final var action = (OkAction) client.getRedirectionAction(MockWebContext.create(), new MockSessionStore()).get();
assertTrue(getDecodedAuthnRequest(action.getContent()).contains("ForceAuthn=\"true\""));
}
use of org.pac4j.core.context.session.MockSessionStore in project pac4j by pac4j.
the class PostSAML2ClientTests method testCustomSpEntityIdForPostBinding.
@Test
public void testCustomSpEntityIdForPostBinding() {
final var client = getClient();
client.getConfiguration().setServiceProviderEntityId("http://localhost:8080/cb");
client.getConfiguration().setUseNameQualifier(true);
final var person = new SAML2MetadataContactPerson();
person.setCompanyName("Pac4j");
person.setGivenName("Bob");
person.setSurname("Smith");
person.setType("technical");
person.setEmailAddresses(Collections.singletonList("test@example.org"));
person.setTelephoneNumbers(Collections.singletonList("+13476547689"));
client.getConfiguration().getContactPersons().add(person);
final var uiInfo = new SAML2MetadataUIInfo();
uiInfo.setDescriptions(Collections.singletonList("description1"));
uiInfo.setDisplayNames(Collections.singletonList("displayName"));
uiInfo.setPrivacyUrls(Collections.singletonList("https://pac4j.org"));
uiInfo.setInformationUrls(Collections.singletonList("https://pac4j.org"));
uiInfo.setKeywords(Collections.singletonList("keyword1,keyword2,keyword3"));
uiInfo.setLogos(Collections.singletonList(new SAML2MetadataUIInfo.SAML2MetadataUILogo("https://pac4j.org/logo.png", 16, 16)));
client.getConfiguration().getMetadataUIInfos().add(uiInfo);
final var action = (OkAction) client.getRedirectionAction(MockWebContext.create(), new MockSessionStore()).get();
final var issuerJdk11 = "<saml2:Issuer " + "xmlns:saml2=\"urn:oasis:names:tc:SAML:2.0:assertion\" " + "Format=\"urn:oasis:names:tc:SAML:2.0:nameid-format:entity\" " + "NameQualifier=\"http://localhost:8080/cb\">http://localhost:8080/cb</saml2:Issuer>";
final var decodedAuthnRequest = getDecodedAuthnRequest(action.getContent());
assertTrue(decodedAuthnRequest.contains(issuerJdk11));
}
use of org.pac4j.core.context.session.MockSessionStore in project pac4j by pac4j.
the class SAML2AuthenticatorTests method verifyAttributeMapping.
@Test
public void verifyAttributeMapping() {
final var credentials = createCredentialsForTest(true, true);
final Map<String, String> mappedAttributes = createMappedAttributesForTest();
final var authenticator = new SAML2Authenticator("username", mappedAttributes);
authenticator.validate(credentials, MockWebContext.create(), new MockSessionStore());
final var finalProfile = credentials.getUserProfile();
assertTrue(finalProfile.containsAttribute("mapped-display-name"));
assertTrue(finalProfile.containsAttribute("mapped-given-name"));
assertTrue(finalProfile.containsAttribute("mapped-surname"));
}
Aggregations