/// <summary> /// Reads a <see cref="SecurityToken"/> from the provided XML representation. /// </summary> /// <param name="securityTokenXml">The XML representation of the security token.</param> /// <param name="securityTokenHandlers">The <see cref="SecurityTokenHandlerCollection"/> used to /// read the token.</param> /// <returns>A <see cref="SecurityToken"/>.</returns> protected virtual SecurityToken ReadSecurityToken(XmlElement securityTokenXml, SecurityTokenHandlerCollection securityTokenHandlers) { SecurityToken securityToken = null; XmlReader reader = new XmlNodeReader(securityTokenXml); reader.MoveToContent(); securityToken = securityTokenHandlers.ReadToken(reader); if (securityToken == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ID4051, securityTokenXml, reader.LocalName, reader.NamespaceURI))); } return(securityToken); }
/// <summary> /// Deserializes the SecurityToken from the given XmlReader. /// </summary> /// <param name="reader">Reader to a Security token.</param> /// <param name="tokenResolver">Instance of SecurityTokenResolver.</param> /// <returns>'True' if the serializer can read the given Security Token.</returns> protected override SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver) { return(_securityTokenHandlers.ReadToken(reader)); }