Remove Id from IdentityUserLogin.

pull/206/head
Halil İbrahim Kalkan 8 years ago
parent b3a671d8ce
commit 7d75b4c403

@ -3,7 +3,7 @@
public static class IdentityUserLoginConsts public static class IdentityUserLoginConsts
{ {
public const int MaxLoginProviderLength = 64; public const int MaxLoginProviderLength = 64;
public const int MaxProviderKeyLength = 256; public const int MaxProviderKeyLength = 196;
public const int MaxProviderDisplayNameLength = 128; public const int MaxProviderDisplayNameLength = 128;
} }
} }

@ -211,12 +211,11 @@ namespace Volo.Abp.Identity
Claims.RemoveAll(c => c.ClaimValue == claim.Value && c.ClaimType == claim.Type); 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)); 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) public void RemoveLogin([NotNull] string loginProvider, [NotNull] string providerKey)

@ -8,7 +8,7 @@ namespace Volo.Abp.Identity
/// <summary> /// <summary>
/// Represents a login and its associated provider for a user. /// Represents a login and its associated provider for a user.
/// </summary> /// </summary>
public class IdentityUserLogin : Entity<Guid> public class IdentityUserLogin : Entity
{ {
/// <summary> /// <summary>
/// Gets or sets the of the primary key of the user associated with this login. /// 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(loginProvider, nameof(loginProvider));
Check.NotNull(providerKey, nameof(providerKey)); Check.NotNull(providerKey, nameof(providerKey));
Id = id;
UserId = userId; UserId = userId;
LoginProvider = loginProvider; LoginProvider = loginProvider;
ProviderKey = providerKey; ProviderKey = providerKey;
ProviderDisplayName = providerDisplayName; ProviderDisplayName = providerDisplayName;
} }
public IdentityUserLogin(Guid id, Guid userId, [NotNull] UserLoginInfo login) protected internal IdentityUserLogin(Guid userId, [NotNull] UserLoginInfo login)
: this(id, userId, login.LoginProvider, login.ProviderKey, login.ProviderDisplayName) : this(userId, login.LoginProvider, login.ProviderKey, login.ProviderDisplayName)
{ {
} }

@ -504,7 +504,7 @@ namespace Volo.Abp.Identity
await _userRepository.EnsureCollectionLoadedAsync(user, u => u.Logins, cancellationToken); await _userRepository.EnsureCollectionLoadedAsync(user, u => u.Logins, cancellationToken);
user.AddLogin(_guidGenerator, login); user.AddLogin(login);
} }
/// <summary> /// <summary>

@ -88,11 +88,12 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
{ {
b.ToTable(tablePrefix + "UserLogins", schema); 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.LoginProvider).HasMaxLength(IdentityUserLoginConsts.MaxLoginProviderLength).IsRequired();
b.Property(ul => ul.ProviderKey).HasMaxLength(IdentityUserLoginConsts.MaxProviderKeyLength).IsRequired(); b.Property(ul => ul.ProviderKey).HasMaxLength(IdentityUserLoginConsts.MaxProviderKeyLength).IsRequired();
b.Property(ul => ul.ProviderDisplayName).HasMaxLength(IdentityUserLoginConsts.MaxProviderDisplayNameLength); 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 }); b.HasIndex(l => new { l.LoginProvider, l.ProviderKey });
}); });

Loading…
Cancel
Save