private bool ValidateApiCredentials(
            HttpRequestMessage request,
            AclClientCredentials credentials)
        {
            var subscribers = GetSubscribers(request);

            if (subscribers.IsNullOrEmpty())
            {
                return(false);
            }

            var thisSubscriber = subscribers.FirstOrDefault(
                s => s.Identifier.Equals(credentials.Identifier, StringComparison.InvariantCultureIgnoreCase));

            if (thisSubscriber.IsNull())
            {
                return(false);
            }

            IPrincipal principal;
            var        result = thisSubscriber
                                .ValidateCredentials(credentials, out principal);

            if (result)
            {
                Thread.CurrentPrincipal = principal;
                _assignPrincipalFactory(request, principal);
            }

            return(result);
        }
 private static bool TryRetrieveApiCredentials(
     HttpRequestMessage request,
     out AclClientCredentials credentials)
 {
     return(new AclClientCredentialsRetriever()
            .TryParse(request, out credentials));
 }
Esempio n. 3
0
 private IPrincipal GetPrincipal(
     AclClientCredentials credentials)
 {
     return(new ClaimsPrincipal(
                new ClaimsIdentity(
                    GetClaims(credentials).ToList(),
                    AuthenticationTypes.Basic)));
 }
Esempio n. 4
0
        internal bool ValidateCredentials(
            AclClientCredentials credentials,
            out IPrincipal principal)
        {
            principal = null;

            if (ValidateSecret(credentials.Secret))
            {
                principal = GetPrincipal(credentials);
            }

            return(principal.IsNotNull());
        }
Esempio n. 5
0
 private IEnumerable <Claim> GetClaims(
     AclClientCredentials credentials)
 {
     yield return(new Claim(ClaimTypes.Name, credentials.Identifier));
 }