// Validation fails - returns 'cancel'.
destinationUrl = message.getDestinationUrl(true);
response.setDestinationUrl(destinationUrl);
response.setValidated(false);
} else {
OpenIDExtension extension = null;
OpenIDAuthenticationRequest req = null;
req = new OpenIDAuthenticationRequest();
if (request.isPhishiingResistanceAuthRequest()) {
// Relying party requests phishing-resistant login.
req.setPhishingResistanceLogin(true);
}
if (request.isMultiFactorAuthRequested()) {
// Relying party requests phishing-resistant login.
req.setMultifactorLogin(true);
}
req.setAuthRequest(authReq);
// A given OpenID authentication request can contain multiple
// extensions.
// OpenIDProvider is not aware of extensions - we simply delegate
// the extension
// processing logic to a subclass of OpenIDExtension.
for (Object alias : authReq.getExtensions()) {
req.setExtensionAlias((String) alias);
// Get the corresponding OpenIDExtension instance from the
// OpenIDExtensionFactory.
extension = OpenIDExtensionFactory.getInstance().getExtension(req);
if (extension != null) {
MessageExtension messageExtension = null;
messageExtension = extension.getMessageExtension(request.getOpenID(), request
.getProfileName());
if (messageExtension != null) {
message.addExtension(messageExtension);
AuthSuccess authSuccess = (AuthSuccess) message;
authSuccess.addSignExtension((String) alias);