Исключение Windows Identity Foundation с WSO2 Identity Server 5.0

#wso2 #wif #saml-2.0 #ws-federation #ws-trust

#wso2 #wif #saml-2.0 #ws-федерация #ws-доверие

Вопрос:

Windows Identity Foundation испытывает проблемы с принятием токенов SAML2, запрошенных из WSO2 WS-Trust (см. Исключение). Возможно ли изменить токен или есть известное решение этой проблемы?

 System.Xml.XmlException: Cannot read KeyIdentifierClause from element 'Reference' with namespace 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'.  Custom KeyIdentifierClauses require custom SecurityTokenSerializers, please refer to the SDK for examples.
   at System.IdentityModel.Tokens.WSSecurityJan2004.SecurityTokenReferenceJan2004ClauseEntry.ReadKeyIdentifierClauseCore(XmlDictionaryReader reader)
   at System.IdentityModel.Tokens.KeyInfoSerializer.ReadKeyIdentifierClauseCore(XmlReader reader)
   at System.IdentityModel.Tokens.SecurityTokenHandlerCollection.ReadKeyIdentifierClauseCore(XmlReader reader)
   at System.IdentityModel.Protocols.WSTrust.WSTrustSerializationHelper.ReadRSTRXml(XmlReader reader, RequestSecurityTokenResponse rstr, WSTrustSerializationContext context, WSTrustConstantsAdapter trustConstants)

   at System.IdentityModel.Protocols.WSTrust.WSTrust13ResponseSerializer.ReadXml(XmlReader reader, WSTrustSerializationContext context)
   at System.IdentityModel.Services.WSFederationSerializer.CreateResponse(FederationMessage message, WSTrustSerializationContext context)
   at System.IdentityModel.Services.WSFederationAuthenticationModule.GetXmlTokenFromMessage(SignInResponseMessage message, WSFederationSerializer federationSerializer)
   at System.IdentityModel.Services.WSFederationAuthenticationModule.GetSecurityToken(SignInResponseMessage message)
   at System.IdentityModel.Services.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequestBase request)
   at System.IdentityModel.Services.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Booleanamp; completedSynchronously)