#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)