/// <summary>
 /// Adds Token Authentication rules
 /// </summary>
 /// <param name="basicDelegate">Delegate used to authenticate user</param>
 public static IChannelAuthenticationEnabled AddTokenAuthentication(this IChannelAuthenticationEnabled server, Func <string, ClaimsPrincipal> tokenDelegate)
 {
     server.AuthenticationSettings = new AuthenticationSettings()
     {
         TokenAuthPrincipalDelegate = tokenDelegate,
         Schema = ChannelAuthenticationSchemes.Token
     };
     return(server);
 }
 /// <summary>
 /// Adds Basic Authentication rules
 /// </summary>
 /// <param name="basicDelegate">Delegate used to authenticate user</param>
 public static IChannelAuthenticationEnabled AddBasicAuthentication(this IChannelAuthenticationEnabled server, Func <string, string, ClaimsPrincipal> basicDelegate)
 {
     server.AuthenticationSettings = new AuthenticationSettings()
     {
         BasicAuthPrincipalDelegate = basicDelegate,
         Schema = ChannelAuthenticationSchemes.Basic
     };
     return(server);
 }