private SecurityToken ReadToken(string text) { using (XmlReader reader = XmlReader.Create(new StringReader(text))) { reader.MoveToContent(); SecurityTokenHandlerCollection handlers = _federationConfiguration.IdentityConfiguration.SecurityTokenHandlers; return(handlers.CanReadToken(reader) ? handlers.ReadToken(reader) : null); } }
private SecurityToken ReadToken(XmlReader reader) { SecurityTokenHandlerCollection securityTokenHandlers = this._serviceConfiguration.IdentityConfiguration.SecurityTokenHandlers; if (securityTokenHandlers.CanReadToken(reader)) { return(securityTokenHandlers.ReadToken(reader)); } return(null); }
/// <summary>Turns a supported generic XML security token into a security token.</summary> /// <param name="token">The generic XML security token.</param> /// <param name="handler">The security token handler.</param> /// <returns>A SecurityToken</returns> public static SecurityToken ToSecurityToken(this GenericXmlSecurityToken token, SecurityTokenHandlerCollection handler) { var xmlTextReader = new XmlTextReader(new StringReader(token.TokenXml.OuterXml)); if (handler.CanReadToken(xmlTextReader)) { return(handler.ReadToken(xmlTextReader)); } throw new InvalidOperationException("Unsupported token type"); }
/// <summary> /// Turns a supported generic XML security token to a security token. /// </summary> /// <param name="token">The generic XML security token.</param> /// <param name="handler">The security token handler.</param> /// <returns>A SecurityToken</returns> public static SecurityToken ToSecurityToken(this GenericXmlSecurityToken token, SecurityTokenHandlerCollection handler) { var reader = new XmlTextReader(new StringReader(token.TokenXml.OuterXml)); if (handler.CanReadToken(reader)) { return handler.ReadToken(reader); } else { throw new InvalidOperationException("Unsupported token type"); } }
/// <summary> /// Checks if one of the wrapped SecurityTokenHandlers or the base WSSecurityTokenSerializer /// can read the security token. /// </summary> /// <param name="reader">Reader to a Security token.</param> /// <returns>'True' if the serializer can read the given Security Token.</returns> /// <exception cref="ArgumentNullException">The input parameter 'reader' is null.</exception> protected override bool CanReadTokenCore(XmlReader reader) { if (reader == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader"); } if (_securityTokenHandlers.CanReadToken(reader)) { return(true); } return(base.CanReadTokenCore(reader)); }