diff --git a/src/AspNetCore.Identity.MongoDbCore.csproj b/src/AspNetCore.Identity.MongoDbCore.csproj
index 5bd3c4f..c7df969 100644
--- a/src/AspNetCore.Identity.MongoDbCore.csproj
+++ b/src/AspNetCore.Identity.MongoDbCore.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/src/Extensions/ServiceCollectionExtension.cs b/src/Extensions/ServiceCollectionExtension.cs
index 8c96b20..3801a13 100644
--- a/src/Extensions/ServiceCollectionExtension.cs
+++ b/src/Extensions/ServiceCollectionExtension.cs
@@ -1,9 +1,10 @@
-using AspNetCore.Identity.MongoDbCore.Infrastructure;
+using System;
+using AspNetCore.Identity.MongoDbCore.Infrastructure;
using AspNetCore.Identity.MongoDbCore.Models;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Identity.Core;
using MongoDbGenericRepository;
-using System;
namespace AspNetCore.Identity.MongoDbCore.Extensions
{
@@ -19,14 +20,15 @@ namespace AspNetCore.Identity.MongoDbCore.Extensions
/// The type of the primary key of the identity document.
/// The collection of service descriptors.
/// A configuration object of the AspNetCore.Identity.MongoDbCore package.
- public static void ConfigureMongoDbIdentityUserOnly(
+ public static IdentityBuilder ConfigureMongoDbIdentityUserOnly(
this IServiceCollection services,
MongoDbIdentityConfiguration mongoDbIdentityConfiguration)
where TUser : MongoIdentityUser, new()
where TKey : IEquatable
{
ValidateMongoDbSettings(mongoDbIdentityConfiguration.MongoDbSettings);
- CommonMongoDbSetup, TKey>(services, mongoDbIdentityConfiguration);
+
+ return CommonMongoDbSetup, TKey>(services, mongoDbIdentityConfiguration);
}
@@ -36,11 +38,12 @@ namespace AspNetCore.Identity.MongoDbCore.Extensions
/// The type representing a user.
/// The collection of service descriptors.
/// A configuration object of the AspNetCore.Identity.MongoDbCore package.
- public static void ConfigureMongoDbIdentity(this IServiceCollection services, MongoDbIdentityConfiguration mongoDbIdentityConfiguration)
+ public static IdentityBuilder ConfigureMongoDbIdentity(this IServiceCollection services, MongoDbIdentityConfiguration mongoDbIdentityConfiguration)
where TUser : MongoIdentityUser, new()
{
ValidateMongoDbSettings(mongoDbIdentityConfiguration.MongoDbSettings);
- CommonMongoDbSetup(services, mongoDbIdentityConfiguration);
+
+ return CommonMongoDbSetup(services, mongoDbIdentityConfiguration);
}
///
@@ -74,51 +77,60 @@ namespace AspNetCore.Identity.MongoDbCore.Extensions
/// The collection of service descriptors.
/// A configuration object of the AspNetCore.Identity.MongoDbCore package.
/// An object representing a MongoDb connection.
- public static void ConfigureMongoDbIdentity(this IServiceCollection services, MongoDbIdentityConfiguration mongoDbIdentityConfiguration,
+ public static IdentityBuilder ConfigureMongoDbIdentity(this IServiceCollection services, MongoDbIdentityConfiguration mongoDbIdentityConfiguration,
IMongoDbContext mongoDbContext = null)
where TUser : MongoIdentityUser, new()
where TRole : MongoIdentityRole, new()
where TKey : IEquatable
{
+ IdentityBuilder builder;
+
ValidateMongoDbSettings(mongoDbIdentityConfiguration.MongoDbSettings);
- if(mongoDbContext == null)
+ if (mongoDbContext == null)
{
- services.AddIdentity()
+ builder = services.AddIdentityCore()
+ .AddRoles()
.AddMongoDbStores(
mongoDbIdentityConfiguration.MongoDbSettings.ConnectionString,
- mongoDbIdentityConfiguration.MongoDbSettings.DatabaseName)
- .AddDefaultTokenProviders();
+ mongoDbIdentityConfiguration.MongoDbSettings.DatabaseName);
}
else
{
- services.AddIdentity()
- .AddMongoDbStores(mongoDbContext)
- .AddDefaultTokenProviders();
+ builder = services.AddIdentityCore()
+ .AddRoles()
+ .AddMongoDbStores(mongoDbContext);
}
if (mongoDbIdentityConfiguration.IdentityOptionsAction != null)
{
services.Configure(mongoDbIdentityConfiguration.IdentityOptionsAction);
}
+
+ return builder;
}
- private static void CommonMongoDbSetup(this IServiceCollection services, MongoDbIdentityConfiguration mongoDbIdentityConfiguration)
+ private static IdentityBuilder CommonMongoDbSetup(this IServiceCollection services, MongoDbIdentityConfiguration mongoDbIdentityConfiguration)
where TUser : MongoIdentityUser, new()
where TRole : MongoIdentityRole, new()
where TKey : IEquatable
{
- services.AddIdentity()
+
+ IdentityBuilder builder;
+
+ builder = services.AddIdentityCore()
+ .AddRoles()
.AddMongoDbStores(
- mongoDbIdentityConfiguration.MongoDbSettings.ConnectionString,
- mongoDbIdentityConfiguration.MongoDbSettings.DatabaseName)
- .AddDefaultTokenProviders();
+ mongoDbIdentityConfiguration.MongoDbSettings.ConnectionString,
+ mongoDbIdentityConfiguration.MongoDbSettings.DatabaseName);
if (mongoDbIdentityConfiguration.IdentityOptionsAction != null)
{
services.Configure(mongoDbIdentityConfiguration.IdentityOptionsAction);
}
+
+ return builder;
}
}
}