Hi, 
I am working with CloudStack and I'm indending to use it as a Service Provider 
connected through SSO with our Active Directory Federation Service . 
I have no Idea how to allow CloudStack to authenticate on the ADFS . 
I tried to follow this guide 
http://www.terbolo.us/2015/06/how-to-set-up-apache-cloudstack-4-5-24-6-0-and-saml-2-0-authentication-against-microsoft-adfs/
 but 
a few problems showed up: 

1 - Even though I had set the URL metadata to 
https://<domain>/FederationMetadata/2007-06/FederationMetadata.xml when I 
checked /var/log/cloudstack/management/management-server.log 
for error messages I saw a few saying that CloudStack couldn't retrieve the 
metadata file. So I did it manually. 

2 - I configured the ADFS claims as showed in the 'how-to' but the following 
error message shows up on my ADFS Event Logs. I already spent a couple hours 
browsing about this error but 
nothing really usefull came up: 

Error code: 364 
(...) 
System.Xml.XmlException: MSIS0018: Não é possível ler a mensagem do protocolo 
SAML porque ela contém dados inválidos. ---> System.ArgumentException: ID4128: 
O valor não é um ID de SAML válido. 
Nome do parâmetro: value ---> System.Xml.XmlException: Um nome não pode ser 
iniciado pelo caractere '7', valor hexadecimal 0x37. 
em System.Xml.XmlConvert.VerifyNCName(String name, ExceptionType exceptionType) 
em Microsoft.IdentityModel.Tokens.Saml2.Saml2Id..ctor(String value) 
--- Fim do rastreamento de pilha de exceções internas --- 
em Microsoft.IdentityModel.Tokens.Saml2.Saml2Id..ctor(String value) 
em 
Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadCommonAttributes(XmlReader
 reader, SamlMessage message) 
--- Fim do rastreamento de pilha de exceções internas --- 
em 
Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadCommonAttributes(XmlReader
 reader, SamlMessage message) 
em 
Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadAuthnRequest(XmlReader
 reader) 
em 
Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadSamlMessage(XmlReader
 reader, NamespaceContext context) 
em 
Microsoft.IdentityServer.Protocols.Saml.HttpSamlBindingSerializer.ReadProtocolMessage(String
 encodedSamlMessage) 
em 
Microsoft.IdentityServer.Protocols.Saml.HttpSamlBindingSerializer.CreateFromNameValueCollection(Uri
 baseUrl, NameValueCollection collection) 
em 
Microsoft.IdentityServer.Protocols.Saml.HttpRedirectSamlBindingSerializer.ReadMessage(Uri
 requestUrl, NameValueCollection form) 
em 
Microsoft.IdentityServer.Web.Protocols.Saml.HttpSamlMessageFactory.CreateMessage(WrappedHttpListenerRequest
 httpRequest) 
em 
Microsoft.IdentityServer.Web.Protocols.Saml.SamlContextFactory.CreateProtocolContextFromRequest(WrappedHttpListenerRequest
 request, ProtocolContext& protocolContext) 
em 
Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.CreateProtocolContext(WrappedHttpListenerRequest
 request) 
em 
Microsoft.IdentityServer.Web.PassiveProtocolListener.GetProtocolHandler(WrappedHttpListenerRequest
 request, ProtocolContext& protocolContext, PassiveProtocolHandler& 
protocolHandler) 
em 
Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext
 context) 

System.ArgumentException: ID4128: O valor não é um ID de SAML válido. 
Nome do parâmetro: value ---> System.Xml.XmlException: Um nome não pode ser 
iniciado pelo caractere '7', valor hexadecimal 0x37. 
em System.Xml.XmlConvert.VerifyNCName(String name, ExceptionType exceptionType) 
em Microsoft.IdentityModel.Tokens.Saml2.Saml2Id..ctor(String value) 
--- Fim do rastreamento de pilha de exceções internas --- 
em Microsoft.IdentityModel.Tokens.Saml2.Saml2Id..ctor(String value) 
em 
Microsoft.IdentityServer.Protocols.Saml.SamlProtocolSerializer.ReadCommonAttributes(XmlReader
 reader, SamlMessage message) 

System.Xml.XmlException: Um nome não pode ser iniciado pelo caractere '7', 
valor hexadecimal 0x37. 
em System.Xml.XmlConvert.VerifyNCName(String name, ExceptionType exceptionType) 
em Microsoft.IdentityModel.Tokens.Saml2.Saml2Id..ctor(String value) 


There is a few parts in brazilian portuguese, sorry about that. 
Did anyone succeeded in connecting CloudStack to an ADFS using the Saml plugin? 

Thank you in advance. 

Igor Steuck Lopes 

-- 
Este email foi checado por SOPHOS UTM 9 SPAM &amp; Virus Firewall.
http://www.rsantos.eti.br

Reply via email to