External Login
Some checks failed
Dotnet build and test / log-the-inputs (push) Successful in 4s
Dotnet build and test / build (push) Failing after 1m23s

This commit is contained in:
Paul Schneider
2025-07-10 19:14:17 +01:00
parent 84366812f9
commit 0aeff6118b
2 changed files with 10 additions and 6 deletions

View File

@ -35,8 +35,6 @@ namespace Yavsc.Models
using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.EntityFrameworkCore.ChangeTracking;
using Yavsc.Abstract.Models.Messaging; using Yavsc.Abstract.Models.Messaging;
using Org.BouncyCastle.Asn1.Crmf;
using Microsoft.AspNetCore.Identity;
public class ApplicationDbContext : IdentityDbContext<ApplicationUser> public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{ {
@ -44,10 +42,12 @@ namespace Yavsc.Models
{ {
} }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{ {
} }
protected override void OnModelCreating(ModelBuilder builder) protected override void OnModelCreating(ModelBuilder builder)
{ {
base.OnModelCreating(builder); base.OnModelCreating(builder);
@ -86,7 +86,7 @@ namespace Yavsc.Models
} }
builder.Entity<Activity>().Property(a => a.ParentCode).IsRequired(false); builder.Entity<Activity>().Property(a => a.ParentCode).IsRequired(false);
builder.Entity<IdentityUserLogin<String>>().HasKey(i=> new { i.LoginProvider, i.UserId, i.ProviderKey }); // builder.Entity<IdentityUserLogin<String>>().HasKey(i=> new { i.LoginProvider, i.UserId, i.ProviderKey });
} }
// this is not a failback procedure. // this is not a failback procedure.
@ -301,6 +301,6 @@ namespace Yavsc.Models
public DbSet<Scope> Scopes { get; set; } public DbSet<Scope> Scopes { get; set; }
public DbSet<BlogSpotPublication> blogSpotPublications{ get; set; } public DbSet<BlogSpotPublication> blogSpotPublications{ get; set; }
public DbSet<IdentityUserLogin<String>> AspNetUserLogins { get; set; } // public DbSet<IdentityUserLogin<String>> AspNetUserLogins { get; set; }
} }
} }

View File

@ -1,4 +1,5 @@
using System.Security.Claims; using System.Security.Claims;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Yavsc.Interfaces; using Yavsc.Interfaces;
using Yavsc.Models; using Yavsc.Models;
@ -6,10 +7,12 @@ using Yavsc.Models;
public class ExternalIdentityManager : IExternalIdentityManager public class ExternalIdentityManager : IExternalIdentityManager
{ {
private ApplicationDbContext _applicationDbContext; private ApplicationDbContext _applicationDbContext;
private SignInManager<ApplicationUser> _signInManager;
public ExternalIdentityManager(ApplicationDbContext applicationDbContext) public ExternalIdentityManager(ApplicationDbContext applicationDbContext, SignInManager<ApplicationUser> signInManager)
{ {
_applicationDbContext = applicationDbContext; _applicationDbContext = applicationDbContext;
_signInManager = signInManager;
} }
public ApplicationUser AutoProvisionUser(string provider, string providerUserId, List<Claim> claims) public ApplicationUser AutoProvisionUser(string provider, string providerUserId, List<Claim> claims)
{ {
@ -18,7 +21,8 @@ public class ExternalIdentityManager : IExternalIdentityManager
public async Task<ApplicationUser?> FindByExternaleProviderAsync(string provider, string providerUserId) public async Task<ApplicationUser?> FindByExternaleProviderAsync(string provider, string providerUserId)
{ {
var user = await _applicationDbContext.AspNetUserLogins
var user = await _applicationDbContext.UserLogins
.FirstOrDefaultAsync( .FirstOrDefaultAsync(
i => (i.LoginProvider == provider) && (i.ProviderKey == providerUserId) i => (i.LoginProvider == provider) && (i.ProviderKey == providerUserId)
); );