Using with existing ASP.NET Identity deployment¶
How to configure Asp.Net Core Identity - database, primary key data type¶
By default, it’s used as the primary key int, but it’s possible to change it:
How to configure DbContext for ASP.NET Core Identity
- You can setup the
DbContext- inStartup.cs:
- ::
- services.AddAdminAspNetIdentityServices<AdminDbContext, UserDto<int>, int, RoleDto<int>, int, int, int,
- UserIdentity, UserIdentityRole, int, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken>();
- Method
AddAdminAspNetIdentityServicesexpects the generic paramTAdminDbContextthat inherits fromIdentityDbContextand implements interfaceIAdminPersistedGrantIdentityDbContext(for operation data connected with Asp.Net Core Identity)
How to configure Identity primary key data type in ASP.NET Core Identity
- By default, it’s used
intas the primary key, but you can change toGuidorstring.
How to use for example ``Guid``
- Change
inttoGuidinStartup.cs:
Original:
- ::
- services.AddAdminAspNetIdentityServices<AdminDbContext, UserDto<int>, int, RoleDto<int>, int, int, int,
- UserIdentity, UserIdentityRole, int, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken>();
New:
- ::
- services.AddAdminAspNetIdentityServices<AdminDbContext, UserDto<Guid>, Guid, RoleDto<Guid>, Guid, Guid, Guid,
- UserIdentity, UserIdentityRole, Guid, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken>();
- Change
inttoGuidin all files in folder -Skoruba.IdentityServer4.Admin.EntityFramework/Entities/Identity:
For example - UserIdentity.cs:
Original:
- ::
public class UserIdentity : IdentityUser<int> {
}
New:
- ::
public class UserIdentity : IdentityUser<Guid> {
}
- Change
inttoGuidin other files in this folder -Skoruba.IdentityServer4.Admin.EntityFramework/Entities/Identity
### 3. Change int to Guid in all files in folder - Skoruba.IdentityServer4.Admin/Views/Identity:
For example - Role.cshtml:
Original:
- ::
- @model Skoruba.IdentityServer4.Admin.BusinessLogic.Dtos.Identity.RoleDto<int> // … @if (!EqualityComparer<int>.Default.Equals(Model.Id, default(int)))
New:
- ::
- @model Skoruba.IdentityServer4.Admin.BusinessLogic.Dtos.Identity.RoleDto<Guid> // … @if (!EqualityComparer<Guid>.Default.Equals(Model.Id, default(Guid)))
- Change
inttoGuidin other files in this folder -Skoruba.IdentityServer4.Admin/Views/Identity
- Change
inttoGuidinAdminDbContext-Skoruba.IdentityServer4.Admin.EntityFramework/DbContexts:
Original:
- ::
- public class AdminDbContext : IdentityDbContext<UserIdentity, UserIdentityRole, int, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken>,
- IAdminConfigurationDbContext, IAdminLogDbContext, IAdminPersistedGrantIdentityDbContext
New:
- ::
- public class AdminDbContext : IdentityDbContext<UserIdentity, UserIdentityRole, Guid, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken>,
- IAdminConfigurationDbContext, IAdminLogDbContext, IAdminPersistedGrantIdentityDbContext
- Change
inttoGuidinGrantController-Skoruba.IdentityServer4.Admin/Controllers:
Original:
- ::
public class GrantController : BaseController {
private readonly IPersistedGrantService<AdminDbContext, UserIdentity, UserIdentityRole, int, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> _persistedGrantService; private readonly IStringLocalizer<GrantController> _localizer;
- public GrantController(IPersistedGrantService<AdminDbContext, UserIdentity, UserIdentityRole, int, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> persistedGrantService,
- ILogger<ConfigurationController> logger, IStringLocalizer<GrantController> localizer) : base(logger)
- {
- _persistedGrantService = persistedGrantService; _localizer = localizer;
}
}
New:
- ::
public class GrantController : BaseController {
private readonly IPersistedGrantService<AdminDbContext, UserIdentity, UserIdentityRole, Guid, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> _persistedGrantService; private readonly IStringLocalizer<GrantController> _localizer;
- public GrantController(IPersistedGrantService<AdminDbContext, UserIdentity, UserIdentityRole, Guid, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> persistedGrantService,
- ILogger<ConfigurationController> logger, IStringLocalizer<GrantController> localizer) : base(logger)
- {
- _persistedGrantService = persistedGrantService; _localizer = localizer;
}
}
- Change
inttoGuidinIdentityController-Skoruba.IdentityServer4.Admin/Controllers:
Original:
- ::
public class IdentityController : BaseIdentityController<AdminDbContext, UserDto<int>, int, RoleDto<int>, int, int, int, UserIdentity, UserIdentityRole, int, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> {
- public IdentityController(IIdentityService<AdminDbContext, UserDto<int>, int, RoleDto<int>, int, int, int, UserIdentity, UserIdentityRole, int, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> identityService, ILogger<ConfigurationController> logger, IStringLocalizer<IdentityController> localizer)
- : base(identityService, logger, localizer)
}
New:
- ::
public class IdentityController : BaseIdentityController<AdminDbContext, UserDto<Guid>, Guid, RoleDto<Guid>, Guid, Guid, Guid, UserIdentity, UserIdentityRole, Guid, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> {
- public IdentityController(IIdentityService<AdminDbContext, UserDto<Guid>, Guid, RoleDto<Guid>, Guid, Guid, Guid, UserIdentity, UserIdentityRole, Guid, UserIdentityUserClaim, UserIdentityUserRole, UserIdentityUserLogin, UserIdentityRoleClaim, UserIdentityUserToken> identityService, ILogger<ConfigurationController> logger, IStringLocalizer<IdentityController> localizer)
- : base(identityService, logger, localizer)
}