From 7d75b4c403b90eac8df63c8c1c1bc20d12f53594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 31 Jan 2018 16:51:58 +0300 Subject: [PATCH] Remove Id from IdentityUserLogin. --- .../Volo/Abp/Identity/IdentityUserLoginConsts.cs | 2 +- .../Volo/Abp/Identity/IdentityUser.cs | 5 ++--- .../Volo/Abp/Identity/IdentityUserLogin.cs | 9 ++++----- .../Volo/Abp/Identity/IdentityUserStore.cs | 2 +- .../IdentityDbContextModelBuilderExtensions.cs | 3 ++- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserLoginConsts.cs b/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserLoginConsts.cs index 4bd670024f..0ef43bb1b1 100644 --- a/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserLoginConsts.cs +++ b/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityUserLoginConsts.cs @@ -3,7 +3,7 @@ public static class IdentityUserLoginConsts { public const int MaxLoginProviderLength = 64; - public const int MaxProviderKeyLength = 256; + public const int MaxProviderKeyLength = 196; public const int MaxProviderDisplayNameLength = 128; } } diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs index fd61f5c809..256ee9be9f 100644 --- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs +++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs @@ -211,12 +211,11 @@ namespace Volo.Abp.Identity Claims.RemoveAll(c => c.ClaimValue == claim.Value && c.ClaimType == claim.Type); } - public void AddLogin([NotNull] IGuidGenerator guidGenerator, [NotNull] UserLoginInfo login) + public void AddLogin([NotNull] UserLoginInfo login) { - Check.NotNull(guidGenerator, nameof(guidGenerator)); Check.NotNull(login, nameof(login)); - Logins.Add(new IdentityUserLogin(guidGenerator.Create(), Id, login)); + Logins.Add(new IdentityUserLogin(Id, login)); } public void RemoveLogin([NotNull] string loginProvider, [NotNull] string providerKey) diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLogin.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLogin.cs index 8556fee9d7..609a3b101a 100644 --- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLogin.cs +++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserLogin.cs @@ -8,7 +8,7 @@ namespace Volo.Abp.Identity /// /// Represents a login and its associated provider for a user. /// - public class IdentityUserLogin : Entity + public class IdentityUserLogin : Entity { /// /// Gets or sets the of the primary key of the user associated with this login. @@ -35,20 +35,19 @@ namespace Volo.Abp.Identity } - protected internal IdentityUserLogin(Guid id, Guid userId, [NotNull] string loginProvider, [NotNull] string providerKey, string providerDisplayName) + protected internal IdentityUserLogin(Guid userId, [NotNull] string loginProvider, [NotNull] string providerKey, string providerDisplayName) { Check.NotNull(loginProvider, nameof(loginProvider)); Check.NotNull(providerKey, nameof(providerKey)); - Id = id; UserId = userId; LoginProvider = loginProvider; ProviderKey = providerKey; ProviderDisplayName = providerDisplayName; } - public IdentityUserLogin(Guid id, Guid userId, [NotNull] UserLoginInfo login) - : this(id, userId, login.LoginProvider, login.ProviderKey, login.ProviderDisplayName) + protected internal IdentityUserLogin(Guid userId, [NotNull] UserLoginInfo login) + : this(userId, login.LoginProvider, login.ProviderKey, login.ProviderDisplayName) { } diff --git a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs index bb3d9c86c5..c56f33eddf 100644 --- a/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs +++ b/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUserStore.cs @@ -504,7 +504,7 @@ namespace Volo.Abp.Identity await _userRepository.EnsureCollectionLoadedAsync(user, u => u.Logins, cancellationToken); - user.AddLogin(_guidGenerator, login); + user.AddLogin(login); } /// diff --git a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs index 736ddcc214..affb8c75f7 100644 --- a/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs +++ b/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs @@ -88,11 +88,12 @@ namespace Volo.Abp.Identity.EntityFrameworkCore { b.ToTable(tablePrefix + "UserLogins", schema); + b.HasKey(x => new {x.UserId, x.LoginProvider}); + b.Property(ul => ul.LoginProvider).HasMaxLength(IdentityUserLoginConsts.MaxLoginProviderLength).IsRequired(); b.Property(ul => ul.ProviderKey).HasMaxLength(IdentityUserLoginConsts.MaxProviderKeyLength).IsRequired(); b.Property(ul => ul.ProviderDisplayName).HasMaxLength(IdentityUserLoginConsts.MaxProviderDisplayNameLength); - b.HasIndex(l => new { l.UserId, l.LoginProvider, l.ProviderKey }); b.HasIndex(l => new { l.LoginProvider, l.ProviderKey }); });