utils: Remove hard coded strings from SAMLUtils

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2014-08-24 17:33:45 +02:00
parent 5d94fd5be5
commit 1b0f81ec6f

View File

@ -19,6 +19,7 @@
package org.apache.cloudstack.utils.auth; package org.apache.cloudstack.utils.auth;
import com.cloud.utils.HttpUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.opensaml.Configuration; import org.opensaml.Configuration;
@ -85,7 +86,7 @@ public class SAMLUtils {
NameIDPolicyBuilder nameIdPolicyBuilder = new NameIDPolicyBuilder(); NameIDPolicyBuilder nameIdPolicyBuilder = new NameIDPolicyBuilder();
NameIDPolicy nameIdPolicy = nameIdPolicyBuilder.buildObject(); NameIDPolicy nameIdPolicy = nameIdPolicyBuilder.buildObject();
nameIdPolicy.setFormat(NameIDType.PERSISTENT); nameIdPolicy.setFormat(NameIDType.PERSISTENT);
nameIdPolicy.setSPNameQualifier("Apache CloudStack"); nameIdPolicy.setSPNameQualifier(spId);
nameIdPolicy.setAllowCreate(true); nameIdPolicy.setAllowCreate(true);
// AuthnContextClass // AuthnContextClass
@ -113,7 +114,7 @@ public class SAMLUtils {
authnRequest.setIsPassive(false); authnRequest.setIsPassive(false);
authnRequest.setIssuer(issuer); authnRequest.setIssuer(issuer);
authnRequest.setIssueInstant(new DateTime()); authnRequest.setIssueInstant(new DateTime());
authnRequest.setProviderName("Apache CloudStack"); authnRequest.setProviderName(spId);
authnRequest.setProtocolBinding(SAMLConstants.SAML2_REDIRECT_BINDING_URI); authnRequest.setProtocolBinding(SAMLConstants.SAML2_REDIRECT_BINDING_URI);
authnRequest.setAssertionConsumerServiceURL(consumerUrl); authnRequest.setAssertionConsumerServiceURL(consumerUrl);
authnRequest.setNameIDPolicy(nameIdPolicy); authnRequest.setNameIDPolicy(nameIdPolicy);
@ -136,7 +137,7 @@ public class SAMLUtils {
deflaterOutputStream.write(requestMessage.getBytes()); deflaterOutputStream.write(requestMessage.getBytes());
deflaterOutputStream.close(); deflaterOutputStream.close();
String encodedRequestMessage = Base64.encodeBytes(byteArrayOutputStream.toByteArray(), Base64.DONT_BREAK_LINES); String encodedRequestMessage = Base64.encodeBytes(byteArrayOutputStream.toByteArray(), Base64.DONT_BREAK_LINES);
encodedRequestMessage = URLEncoder.encode(encodedRequestMessage, "UTF-8").trim(); encodedRequestMessage = URLEncoder.encode(encodedRequestMessage, HttpUtils.UTF_8).trim();
return encodedRequestMessage; return encodedRequestMessage;
} }