/// <summary>
        /// Adds the sensenet registration feature to the service collection.
        /// </summary>
        /// <param name="appBuilder">AuthenticationBuilder instance.</param>
        /// <param name="configure">Optional configuration method.</param>
        /// <returns>A <see cref="SenseNetRegistrationBuilder"/> instance that lets developers
        /// add custom features to the registration process.</returns>
        public static SenseNetRegistrationBuilder AddSenseNetRegistration(this AuthenticationBuilder appBuilder,
                                                                          Action <RegistrationOptions> configure)
        {
            var options = new RegistrationOptions();

            configure?.Invoke(options);

            var store = new RegistrationProviderStore(options);

            appBuilder.Services.AddSingleton(store);

            // return a feature-specific builder that contains the registered singleton provider store
            return(new SenseNetRegistrationBuilder(appBuilder, store));
        }
 internal SenseNetRegistrationBuilder(AuthenticationBuilder builder, RegistrationProviderStore store)
 {
     AuthenticationBuilder = builder;
     Store = store;
 }