J'essaie d'utiliser un client pour authentifier le bus de service à l'aide d'un certificat et je reçois l'erreur suivante -appeler Windows Azure avec ACS Certificat
{ « erreur »: « invalid_client », "ERROR_DESCRIPTION ":" ACS50008: le jeton SAML est invalide. \ R \ nID de la trace: 40fd75f3-7a9c-490f-9708-8ee24c1b8d6c \ r \ nNom de la correlation: faaeba2f-4d0e-4b67-a12e-32b9a8006aad \ r \ nTimestamp: 2013-06-19 11: 40: 05Z "}
mais il n'y a pas beaucoup de détails là-dedans et je ne trouve rien sur le web.
la demande http j'envoie est -
POST https://[ACS.accesscontrol.windows.net/v2/OAuth2-13 HTTP/1.1 SB Namespace]
Content-Type: application/x-www-form-urlencoded
Host: [ACS SB Namespace].accesscontrol.windows.net
Content-Length: 2902
Expect: 100-continue
Connection: Keep-Alive
et le jeton SAML dans le corps est (décodé pour plus de clarté) -
<Assertion ID="_71323c38-9f7d-4e34-9681-25ab3338cca4" IssueInstant="2013-06-19T11:58:46.233Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
<Issuer>OAuth2SampleX509Identity</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
<ds:Reference URI="#_71323c38-9f7d-4e34-9681-25ab3338cca4">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>TKIR+dse+tMuZxXCzFO+C7QcCj25xWQ2Uzax1YUmpdQ=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>oCP8si[removed for brevity]</ds:SignatureValue>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>[remove for brevity]</X509Certificate>
</X509Data>
</KeyInfo>
</ds:Signature>
<Subject>
<NameID>OAuth2SampleX509Identity</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" />
</Subject>
<Conditions NotBefore="0001-01-01T00:00:00.000Z" NotOnOrAfter="9999-12-31T23:59:59.999Z">
</AudienceRestriction>
</Conditions>
</Assertion>
Je teste cela en utilisant le client de http://msdn.microsoft.com/en-us/library/hh127795.aspx et crois que j'ai configuré ACS en suivant les instructions (bien que j'utilise un espace de noms ACS généré par SB, je suppose que cela n'a pas d'importance?)
L'émetteur est également sensible à la casse –