Web アプリケーションで ADFS を使用して SSO を実行しようとしている顧客がいます。ComponentSpace SAML 2.0 ライブラリを使用しています。送信されるアサーションは次のようになります。
<Assertion ID="_b8a24809-ab6b-4acd-ad6a-8bcb97bb1889" IssueInstant="2012-05-24T13:30:33.917Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
<Issuer>http://example.com/adfs/services/trust</Issuer>
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">mail@example.com</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<SubjectConfirmationData NotOnOrAfter="2012-05-24T13:35:33.920Z" Recipient="https://example.com/default.aspx" />
</SubjectConfirmation>
</Subject>
<Conditions NotBefore="2012-05-24T13:30:33.907Z" NotOnOrAfter="2012-05-24T14:30:33.907Z">
<AudienceRestriction>
<Audience>https://example.com</Audience>
</AudienceRestriction>
</Conditions>
<AttributeStatement>
<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress">
<AttributeValue>mail@example.com</AttributeValue>
</Attribute>
</AttributeStatement>
<AuthnStatement AuthnInstant="2012-05-24T13:30:33.756Z" SessionIndex="_b8a24809-ab6b-4acd-ad6a-8bcb97bb1889">
<AuthnContext>
<AuthnContextClassRef>urn:federation:authentication:windows</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
</Assertion>
ComponentSpace ライブラリは、HTTP ポストから完全な SamlResponse を取得していますが、アサーションは報告されません (つまり、samlResponse.GetAssertions().Count == 0)。ComponentSpace の例を使用すると機能しますが、ComponentSpace ライブラリで構築したすべての要素に「saml:」という接頭辞が付いていることに気付きました (そうあるべきだと思います)。
ComponentSpace ライブラリは、saml: プレフィックスなしでアサーションを見つけることができるはずですか?それとも、正しく送信するように ADFS を構成する方法はありますか?