William
William

Reputation: 33

implement Microsoft Authentication (owin) on an existing WebForms web app

I'm trying to implement Microsoft Authentication (owin) on an existing WebForms web application. I can't use the official guides from Microsoft, since they are made for modern solutions with MVC.

Any tips on where to start? I can't find any guides.

Upvotes: 0

Views: 960

Answers (2)

NicoTek
NicoTek

Reputation: 1167

Install the package for Microsoft.Owin.Security.Cookies Right click the App_Start folder on your project Add -> New Item - > "OWIN Startup Class"

then create the following folder

    public void Configuration(IAppBuilder app)
    {
        CookieAuthenticationOptions opt = new CookieAuthenticationOptions();
        opt.AuthenticationType = CookieAuthenticationDefaults.AuthenticationType;// "Identity.Application";
        opt.CookieName = ".SSO";
        opt.CookieDomain = "localhost";
        opt.SlidingExpiration = true;

        ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("192.168.1.96:6379");
        IDataProtector proc = DataProtectionProvider.Create(new DirectoryInfo(@"C:\test\core"), buildAction => 
            buildAction.SetApplicationName("MyApp").SetDefaultKeyLifetime(TimeSpan.FromDays(9000)).ProtectKeysWithDpapi().PersistKeysToStackExchangeRedis(redis)).CreateProtector("Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware", "Cookies", "v2");

        DataProtectorShim shim = new DataProtectorShim(proc);

        opt.TicketDataFormat = new AspNetTicketDataFormat(shim);

        app.UseCookieAuthentication(opt);
    }

Upvotes: 0

Please follow the document which helps you in old .NET forms to use OWIN Forms middleware and to use this middleware for Azure AD authentication please follow Docs.

Upvotes: 1

Related Questions