Beispiel #1
0
        public virtual async Task <ClientClaimsDto> GetClientClaimAsync(int clientClaimId)
        {
            var clientClaim = await ClientRepository.GetClientClaimAsync(clientClaimId);

            if (clientClaim == null)
            {
                throw new UserFriendlyErrorPageException(string.Format(ClientServiceResources.ClientClaimDoesNotExist().Description, clientClaimId));
            }

            var clientInfo = await ClientRepository.GetClientIdAsync(clientClaim.Client.Id);

            if (clientInfo.ClientId == null)
            {
                throw new UserFriendlyErrorPageException(string.Format(ClientServiceResources.ClientDoesNotExist().Description, clientClaim.Client.Id));
            }

            var clientClaimsDto = clientClaim.ToModel();

            clientClaimsDto.ClientId   = clientClaim.Client.Id;
            clientClaimsDto.ClientName = ViewHelpers.GetClientName(clientInfo.ClientId, clientInfo.ClientName);

            return(clientClaimsDto);
        }
        public virtual async Task <ClientSecretsDto> GetClientSecretsAsync(int clientId, int page = 1, int pageSize = 10)
        {
            var clientInfo = await ClientRepository.GetClientIdAsync(clientId);

            if (clientInfo.ClientId == null)
            {
                throw new UserFriendlyErrorPageException(string.Format(ClientServiceResources.ClientDoesNotExist().Description, clientId));
            }

            var pagedList = await ClientRepository.GetClientSecretsAsync(clientId, page, pageSize);

            var clientSecretsDto = pagedList.ToModel();

            clientSecretsDto.ClientId   = clientId;
            clientSecretsDto.ClientName = ViewHelpers.GetClientName(clientInfo.ClientId, clientInfo.ClientName);

            // remove secret value from dto
            clientSecretsDto.ClientSecrets.ForEach(x => x.Value = null);

            await AuditEventLogger.LogEventAsync(new ClientSecretsRequestedEvent(clientSecretsDto.ClientId, clientSecretsDto.ClientSecrets.Select(x => (x.Id, x.Type, x.Expiration)).ToList()));

            return(clientSecretsDto);
        }