private static void HandleSecurity(this SecurityConfig securityConfig, XmlNode node) { foreach (XmlNode child in node.ChildNodes) { var nodeName = CleanNodeName(child); if ("username-password".Equals(nodeName)) { securityConfig.ConfigureUsernamePasswordIdentity(GetAttribute(child, "username"), GetAttribute(child, "password")); } else if ("token".Equals(nodeName)) { var encodingLabel = GetAttribute(node, "encoding"); var encodedToken = GetTextContent(node); TokenEncoding tokenEncoding = Enum.TryParse(encodingLabel, true, out tokenEncoding) ? tokenEncoding : TokenEncoding.None; securityConfig.ConfigureTokenIdentity(encodedToken, tokenEncoding); } else if ("credentials-factory".Equals(nodeName)) { securityConfig.HandleCredentialsFactory(child); } } }
public TokenIdentityConfig(string encodedToken, TokenEncoding encoding) { Encoding = encoding; switch (encoding) { case TokenEncoding.None: Token = System.Text.Encoding.ASCII.GetBytes(encodedToken); break; case TokenEncoding.Base64: Token = System.Convert.FromBase64String(encodedToken); break; default: throw new NotSupportedException($"Unsupported Encoding:{encoding}"); } }
public TokenIdentityConfig(byte[] Token, TokenEncoding Encoding = TokenEncoding.None) { }