Esempio n. 1
0
        public async Task<IActionResult> Get()
        {
            var identifier = User.Claims.First(e => e.Type == ClaimTypes.NameIdentifier).Value;
            if (identifier == null) return HttpUnauthorized();

            var user = _context.DiteUsers.FirstOrDefault(e => e.NameIdentifier == identifier);
            if (user == null)
            {
                user = new DiteUser()
                {
                    DiteUserId = Guid.NewGuid(),
                    Name = User.Claims.First(e => e.Type == ClaimTypes.Name).Value,
                    GivenName = User.Claims.First(e => e.Type == ClaimTypes.GivenName).Value,
                    NameIdentifier = User.Claims.First(e => e.Type == ClaimTypes.NameIdentifier).Value,
                    Email = User.Claims.First(e => e.Type == ClaimTypes.Email).Value
                };

                _context.DiteUsers.Add(user);
                
            }
            else
            {
                user.Name = User.Claims.First(e => e.Type == ClaimTypes.Name).Value;
                user.GivenName = User.Claims.First(e => e.Type == ClaimTypes.GivenName).Value;
                user.Email = User.Claims.First(e => e.Type == ClaimTypes.Email).Value;
            }

            await _context.SaveChangesAsync();

            return Ok(user);
        }
Esempio n. 2
0
        private DiteUser CreateDiteUser()
        {
            var user = new DiteUser()
            {
                DiteUserId = Guid.NewGuid(),
                Name = User.Claims.First(e => e.Type == ClaimTypes.Name).Value,
                GivenName = User.Claims.First(e => e.Type == ClaimTypes.GivenName).Value,
                NameIdentifier = User.Claims.First(e => e.Type == ClaimTypes.NameIdentifier).Value,
                Email = User.Claims.First(e => e.Type == ClaimTypes.Email).Value
            };

            _context.DiteUsers.Add(user);
            return user;
        }
Esempio n. 3
0
 private void UpdateDiteUser(DiteUser user)
 {
     user.Name = User.Claims.First(e => e.Type == ClaimTypes.Name).Value;
     user.GivenName = User.Claims.First(e => e.Type == ClaimTypes.GivenName).Value;
     user.Email = User.Claims.First(e => e.Type == ClaimTypes.Email).Value;
 }