Beispiel #1
0
        public async Task Handle(UpdateUserAccountCommand message, CancellationToken cancellationToken)
        {
            var accounts = await _client.GetEmployerIdentifiersAsync(message.IdamsUserId);

            var user = await _client.GetUsersDetailsAsync(message.IdamsUserId);

            user.EmployerAccountIds = accounts.ToList();

            await _userRepository.UpsertUserAsync(user);
        }
        private static async Task PopulateAccountsClaim(
            Microsoft.AspNetCore.Authentication.OpenIdConnect.TokenValidatedContext ctx,
            IRecruitVacancyClient vacancyClient)
        {
            var userId   = ctx.Principal.GetUserId();
            var accounts = await vacancyClient.GetEmployerIdentifiersAsync(userId);

            var accountsAsJson          = JsonConvert.SerializeObject(accounts);
            var associatedAccountsClaim = new Claim(EmployerRecruitClaims.AccountsClaimsTypeIdentifier, accountsAsJson, JsonClaimValueTypes.Json);

            ctx.Principal.Identities.First().AddClaim(associatedAccountsClaim);
        }