Browse Source

Replace user.LoginProvider by IsExternal.

pull/4979/head
Halil İbrahim Kalkan 6 years ago
parent
commit
dc05e3e301
  1. 6
      modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/ExternalLoginProviderBase.cs
  2. 8
      modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs
  3. 3
      modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs
  4. 2
      modules/identity/test/Volo.Abp.Identity.AspNetCore.Tests/Volo/Abp/Identity/AspNetCore/ExternalLoginProvider_Tests.cs

6
modules/identity/src/Volo.Abp.Identity.AspNetCore/Volo/Abp/Identity/AspNetCore/ExternalLoginProviderBase.cs

@ -48,12 +48,12 @@ namespace Volo.Abp.Identity.AspNetCore
user.Name = externalUser.Name;
user.Surname = externalUser.Surname;
user.SetLoginProvider(providerName);
user.IsExternal = true;
user.SetEmailConfirmed(externalUser.EmailConfirmed ?? false);
user.SetPhoneNumber(externalUser.PhoneNumber, externalUser.PhoneNumberConfirmed ?? false);
(await UserManager.CreateAsync(user, await RandomPasswordGenerator.CreateAsync())).CheckErrors();
(await UserManager.CreateAsync(user)).CheckErrors();
if (externalUser.TwoFactorEnabled != null)
{
@ -134,6 +134,8 @@ namespace Volo.Abp.Identity.AspNetCore
(await UserManager.AddLoginAsync(user, new UserLoginInfo(providerName, externalUser.ProviderKey, providerName))).CheckErrors();
}
user.IsExternal = true;
(await UserManager.UpdateAsync(user)).CheckErrors();
}

8
modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityUser.cs

@ -68,7 +68,7 @@ namespace Volo.Abp.Identity
[DisableAuditing]
public virtual string SecurityStamp { get; protected internal set; }
public virtual string LoginProvider { get; protected set; }
public virtual bool IsExternal { get; set; }
/// <summary>
/// Gets or sets a telephone number for the user.
@ -326,12 +326,6 @@ namespace Volo.Abp.Identity
);
}
public virtual void SetLoginProvider([CanBeNull] string loginProvider)
{
LoginProvider = Check.Length(loginProvider, nameof(loginProvider),
IdentityUserConsts.MaxLoginProviderLength);
}
/// <summary>
/// Use <see cref="IdentityUserManager.ConfirmEmailAsync"/> for regular email confirmation.
/// Using this skips the confirmation process and directly sets the <see cref="EmailConfirmed"/>.

3
modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/IdentityDbContextModelBuilderExtensions.cs

@ -43,6 +43,9 @@ namespace Volo.Abp.Identity.EntityFrameworkCore
b.Property(u => u.LockoutEnabled).HasDefaultValue(false)
.HasColumnName(nameof(IdentityUser.LockoutEnabled));
b.Property(u => u.IsExternal).IsRequired().HasDefaultValue(false)
.HasColumnName(nameof(IdentityUser.IsExternal));
b.Property(u => u.AccessFailedCount)
.If(!builder.IsUsingOracle(), p => p.HasDefaultValue(0))
.HasColumnName(nameof(IdentityUser.AccessFailedCount));

2
modules/identity/test/Volo.Abp.Identity.AspNetCore.Tests/Volo/Abp/Identity/AspNetCore/ExternalLoginProvider_Tests.cs

@ -47,7 +47,7 @@ namespace Volo.Abp.Identity.AspNetCore
user.TwoFactorEnabled.ShouldBeFalse();
user.PhoneNumber.ShouldBe("123");
user.PhoneNumberConfirmed.ShouldBeFalse();
user.LoginProvider.ShouldBe("Fake");
user.IsExternal.ShouldBeTrue();
var logins = user.Logins.Where(l => l.LoginProvider == "Fake").ToList();
logins.Count.ShouldBe(1);

Loading…
Cancel
Save