Merge pull request #4474 from hmlnarik/KEYCLOAK-5254-NPE-in-SAMLIdentityProvider
KEYCLOAK-5254 Fix NPE - NameID format is optional
This commit is contained in:
commit
9034708c99
2 changed files with 9 additions and 5 deletions
|
@ -85,18 +85,20 @@ public class SAML2LogoutRequestBuilder implements SamlProtocolExtensionsAwareBui
|
|||
}
|
||||
|
||||
public Document buildDocument() throws ProcessingException, ConfigurationException, ParsingException {
|
||||
Document document = new SAML2Request().convert(createLogoutRequest());
|
||||
Document document = SAML2Request.convert(createLogoutRequest());
|
||||
return document;
|
||||
}
|
||||
|
||||
private LogoutRequestType createLogoutRequest() throws ConfigurationException {
|
||||
LogoutRequestType lort = new SAML2Request().createLogoutRequest(issuer);
|
||||
LogoutRequestType lort = SAML2Request.createLogoutRequest(issuer);
|
||||
|
||||
NameIDType nameID = new NameIDType();
|
||||
nameID.setValue(userPrincipal);
|
||||
//Deal with NameID Format
|
||||
String nameIDFormat = userPrincipalFormat;
|
||||
if (nameIDFormat != null) {
|
||||
nameID.setFormat(URI.create(nameIDFormat));
|
||||
}
|
||||
lort.setNameID(nameID);
|
||||
|
||||
if (issuer != null) {
|
||||
|
|
|
@ -99,8 +99,10 @@ public class CreateLogoutRequestStepBuilder extends SamlDocumentStepBuilder<Logo
|
|||
.issuer(issuer)
|
||||
.sessionIndex(sessionIndex());
|
||||
|
||||
if (nameId() != null) {
|
||||
builder = builder.userPrincipal(nameId().getValue(), nameId().getFormat().toString());
|
||||
final NameIDType nameIdValue = nameId();
|
||||
|
||||
if (nameIdValue != null) {
|
||||
builder = builder.userPrincipal(nameIdValue.getValue(), nameIdValue.getFormat() == null ? null : nameIdValue.getFormat().toString());
|
||||
}
|
||||
|
||||
String documentAsString = DocumentUtil.getDocumentAsString(builder.buildDocument());
|
||||
|
|
Loading…
Reference in a new issue