Example #1
0
    public void Configure(IWebHostBuilder builder) => builder
    //.ConfigureServices(services => services.AddSingleton<ICacheClient>(new MemoryCacheClient()))
    .ConfigureAppHost(appHost =>
    {
        var appSettings = appHost.AppSettings;
        appHost.Plugins.Add(new AuthFeature(() => new CustomUserSession(),
                                            new IAuthProvider[] {
            new JwtAuthProvider(appSettings)
            {
                AuthKeyBase64 = appSettings.GetString("AuthKeyBase64") ?? "cARl12kvS/Ra4moVBIaVsrWwTpXYuZ0mZf/gNLUhDW5=",
            },
            new CredentialsAuthProvider(appSettings),             /* Sign In with Username / Password credentials */
            new FacebookAuthProvider(appSettings),                /* Create App https://developers.facebook.com/apps */
            new GoogleAuthProvider(appSettings),                  /* Create App https://console.developers.google.com/apis/credentials */
            new MicrosoftGraphAuthProvider(appSettings),          /* Create App https://apps.dev.microsoft.com */
        })
        {
            // IncludeDefaultLogin = false
            ProfileImages = new PersistentImagesHandler("/auth-profiles", Svg.GetStaticContent(Svg.Icons.Female),
                                                        appHost.VirtualFiles, "/App_Data/auth-profiles")
        });

        appHost.Plugins.Add(new RegistrationFeature());     //Enable /register Service

        //override the default registration validation with your own custom implementation
        appHost.RegisterAs <CustomRegistrationValidator, IValidator <Register> >();
    });