// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Collections.Generic; using Microsoft.Framework.ConfigurationModel; using Microsoft.Framework.DependencyInjection; namespace Microsoft.AspNet.Identity { /// /// Default services used by UserManager and RoleManager /// public class IdentityServices { public static IEnumerable GetDefaultUserServices() where TUser : class { return GetDefaultUserServices(new Configuration()); } public static IEnumerable GetDefaultUserServices(IConfiguration configuration) where TUser : class { var describe = new ServiceDescriber(configuration); // TODO: review defaults for validators should get picked up from config? yield return describe.Transient, UserValidator>(); yield return describe.Transient, PasswordValidator>(); yield return describe.Transient(); yield return describe.Transient, ClaimsIdentityFactory>(); // TODO: rationalize email/sms/usertoken services } public static IEnumerable GetDefaultRoleServices() where TRole : class { return GetDefaultRoleServices(new Configuration()); } public static IEnumerable GetDefaultRoleServices(IConfiguration configuration) where TRole : class { var describe = new ServiceDescriber(configuration); // TODO: review defaults for validators should get picked up from config? yield return describe.Instance>(new RoleValidator()); } } }