From e5b6fdba39da2aa6f4ba85ebb4865b81a60d60cf Mon Sep 17 00:00:00 2001 From: "t.ruspekhofer" Date: Sun, 6 Mar 2022 22:12:17 +0100 Subject: [PATCH] User Name is now set at first login --- Lieb/DiscordOAuth2/DiscordHandler.cs | 10 +++++++--- Lieb/Models/LiebUser.cs | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Lieb/DiscordOAuth2/DiscordHandler.cs b/Lieb/DiscordOAuth2/DiscordHandler.cs index 9e33314..a3af897 100644 --- a/Lieb/DiscordOAuth2/DiscordHandler.cs +++ b/Lieb/DiscordOAuth2/DiscordHandler.cs @@ -47,7 +47,7 @@ namespace Discord.OAuth2 private async Task ManageUserRights(OAuthCreatingTicketContext context) { - ulong discordId = ulong.Parse(context.Identity.Claims.Where(x => x.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value); + ulong discordId = ulong.Parse(context.Identity.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier).Value); LiebUser? user = await _LiebDbcontext.LiebUsers.Include(u => u.RoleAssignments).ThenInclude(r => r.LiebRole).FirstOrDefaultAsync(m => m.DiscordUserId == discordId); if (user != null) { @@ -62,8 +62,12 @@ namespace Discord.OAuth2 else { LiebRole standardRole = await _LiebDbcontext.LiebRoles.FirstOrDefaultAsync(m => m.RoleName == Constants.Roles.User); - LiebUser newUser = new LiebUser(); - newUser.DiscordUserId = discordId; + string userName = context.Identity.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Name).Value; + LiebUser newUser = new LiebUser() + { + DiscordUserId = discordId, + Name = userName + }; _LiebDbcontext.LiebUsers.Add(newUser); await _LiebDbcontext.SaveChangesAsync(); RoleAssignment roleAssignment = new RoleAssignment() diff --git a/Lieb/Models/LiebUser.cs b/Lieb/Models/LiebUser.cs index 4753d8f..0569fa5 100644 --- a/Lieb/Models/LiebUser.cs +++ b/Lieb/Models/LiebUser.cs @@ -8,6 +8,7 @@ namespace Lieb.Models public int LiebUserId { get; set; } public ulong DiscordUserId { get; set; } + [Required] [StringLength(40, ErrorMessage = "Name too long (40 character limit).")] public string Name { get; set; } = string.Empty;