internal static ClientCredentialIdentity Create(
     Identity identity,
     AuthenticationGrantTypeClientCredential authenticationGrantTypeClientCredential,
     CreateClientCredentialIdentityDdto createClientCredentialIdentityDdto)
 {
     return(new ClientCredentialIdentity(identity, authenticationGrantTypeClientCredential, createClientCredentialIdentityDdto));
 }
 private ClientCredentialIdentity(
     Identity identity,
     AuthenticationGrantTypeClientCredential authenticationGrantTypeClientCredential,
     CreateClientCredentialIdentityDdto createClientCredentialIdentityDdto)
 {
     Identity = identity;
     AuthenticationGrantTypeClientCredential = authenticationGrantTypeClientCredential;
     Identifier = createClientCredentialIdentityDdto.Identifier;
 }
Esempio n. 3
0
        public async Task <Identity> RunAsync(
            AuthenticationGrantTypeClientCredential authenticationGrantTypeClientCredential,
            string identifier)
        {
            HashSet identifierHash = await DataProtection.StaticHashAsync(identifier, DataKeys.IdentifierSalt);

            return(await _authenticationDbContext.Identities
                   .SingleOrDefaultAsync(i =>
                                         i.AuthenticationIdentities.OfType <ClientCredentialIdentity>().Any(a =>
                                                                                                            a.IdentifierHash == identifierHash.Hash &&
                                                                                                            a.AuthenticationGrantTypeClientCredential == authenticationGrantTypeClientCredential)));
        }
        public Task ExecuteAsync(
            Identity identity,
            AuthenticationGrantTypeClientCredential authenticationGrantTypeClientCredential,
            RegisterClientCredentialCommandDdto registerClientCredentialCommandDdto)
        {
            _validator.ValidateAndThrow(registerClientCredentialCommandDdto);

            identity.RegisterClientCredential(authenticationGrantTypeClientCredential, new RegisterClientCredentialDdto
            {
                Identifier = registerClientCredentialCommandDdto.Identifier
            });

            return(Task.CompletedTask);
        }
        private static string BuildClientAccessUrl(
            AuthenticationGrantTypeClientCredential authenticationGrantTypeClientCredential,
            GetAuthenticationServicesAdto getAuthenticationServicesAdto)
        {
            IDictionaryBuilder <string, object> builder = DictionaryBuilder <string, object> .Create()
                                                          .Add("clientId", authenticationGrantTypeClientCredential.ClientId);

            if (!string.IsNullOrWhiteSpace(getAuthenticationServicesAdto.State))
            {
                builder.Add("state", getAuthenticationServicesAdto.State);
            }

            if (!string.IsNullOrWhiteSpace(getAuthenticationServicesAdto.RedirectUri))
            {
                builder.Add("redirectUri", getAuthenticationServicesAdto.RedirectUri);
            }

            return(authenticationGrantTypeClientCredential.ClientGrantAccessTokenUrl.Format(builder.Build()));
        }