private async Task <IEnumerable <Claim> > TryGetPrincipalFromBasicCredentials(
            string credentials,
            BasicAuthenticationMiddleware.CredentialVlidationFunction validate)
        {
            string pair;

            try
            {
                pair = Encoding.UTF8.GetString(Convert.FromBase64String(credentials));
            }
            catch (FormatException)
            {
                return(null);
            }
            catch (ArgumentException)
            {
                return(null);
            }

            var ix = pair.IndexOf(':');

            if (ix == -1)
            {
                return(null);
            }

            var username = pair.Substring(0, ix);
            var pw       = pair.Substring(ix + 1);

            return(await validate(username, pw));
        }
Exemplo n.º 2
0
 public BasicAuthenticationOptions(
     string realm,
     BasicAuthenticationMiddleware.CredentialVlidationFunction validationFunction)
     : base("Basic")
 {
     // Authentication type
     this.Realm = realm;
     this.CredentialValidationFunction = validationFunction;
 }
Exemplo n.º 3
0
        public static IAppBuilder UseBasicAuthentication(this IAppBuilder appBuilder, string realm, BasicAuthenticationMiddleware.CredentialVlidationFunction validationFunction)
        {
            var options = new BasicAuthenticationOptions(realm, validationFunction);

            return(appBuilder.UseBasicAuthentication(options));
        }