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); }
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; }
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; }