I am trying to implement OWIN into our legacy vb.net web forms project we have to work with our SSO implementation on Azure. However on start-up I can not seem to be able to run the startup.vb class. I have added:
   <add key="owin:AppStartup" value="StartUp" />
   <add key="owin:AutomaticAppStartup" value="true " />
But I still can not seem to launch the StartUp Class I have implemented. What I am expecting is to be redirected to our SSO from Microsoft however that is not happening. There isn't much on the internet for using OWIN with VB.NET also.
Imports Owin
Partial Public Class Startup
    Public Sub Configuration(ByVal app As IAppBuilder)
        ConfigureAuth(app)
    End Sub
End Class
Imports Microsoft.Owin.Extensions
Imports Microsoft.Owin.Security
Imports Microsoft.Owin.Security.Cookies
Imports Microsoft.Owin.Security.OpenIdConnect
Imports Owin
Imports System
Imports System.Configuration
Imports System.Linq
Imports System.Security.Claims
Imports System.Threading.Tasks
Partial Public Class Startup
    Private Shared clientId As String = ConfigurationManager.AppSettings("ida:ClientId")
    Private Shared aadInstance As String = EnsureTrailingSlash(ConfigurationManager.AppSettings("ida:AADInstance"))
    Private Shared tenantId As String = ConfigurationManager.AppSettings("ida:TenantId")
    Private Shared postLogoutRedirectUri As String = ConfigurationManager.AppSettings("ida:PostLogoutRedirectUri")
    Private authority As String = aadInstance & tenantId
    Public Sub ConfigureAuth(ByVal app As IAppBuilder)
        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType)
        app.UseCookieAuthentication(New CookieAuthenticationOptions())
        app.UseOpenIdConnectAuthentication(New OpenIdConnectAuthenticationOptions With {
            .clientId = clientId,
            .authority = authority,
            .postLogoutRedirectUri = postLogoutRedirectUri,
            .Notifications = New OpenIdConnectAuthenticationNotifications() With {
                .AuthenticationFailed = Function(context) System.Threading.Tasks.Task.FromResult(0),
                .SecurityTokenValidated = Function(context)
                                              Dim claims = context.AuthenticationTicket.Identity.Claims
                                              Dim groups = From c In claims Where c.Type = "groups" Select c
                                              For Each group In groups
                                                  context.AuthenticationTicket.Identity.AddClaim(New Claim(ClaimTypes.Role, group.Value))
                                              Next
                                              Return Task.FromResult(0)
                                          End Function
            }
        })
        app.UseStageMarker(PipelineStage.Authenticate)
    End Sub
    Private Shared Function EnsureTrailingSlash(ByVal value As String) As String
        If value Is Nothing Then
            value = String.Empty
        End If
        If Not value.EndsWith("/", StringComparison.Ordinal) Then
            Return value & "/"
        End If
        Return value
    End Function
End Class
Thank You