none
Problemas con el Inicio de OWIN RRS feed

  • Pregunta

  • Buenas tardes. Tengo una aplicación Web hecha en VB.NET la cual hace un llamado a la clase Startup.vb de Owin :

    Imports IdentityModel.Client
    Imports Microsoft.AspNet.Identity
    Imports Microsoft.IdentityModel.Protocols.OpenIdConnect
    Imports Microsoft.IdentityModel.Tokens
    Imports Microsoft.Owin
    Imports Microsoft.Owin.Security
    Imports Microsoft.Owin.Security.Cookies
    Imports Microsoft.Owin.Security.OpenIdConnect
    Imports Owin
    Imports System.Security.Claims
    
    <Assembly: OwinStartup(GetType(AspNetWebFormsOkta.Startup))>
    Namespace AspNetWebFormsOkta
        Public Class Startup
            Private ReadOnly _clientId As String = ConfigurationManager.AppSettings("okta:ClientId")
            Private ReadOnly _redirectUri As String = ConfigurationManager.AppSettings("okta:RedirectUri")
            Private ReadOnly _authority As String = ConfigurationManager.AppSettings("okta:OrgUri")
            Private ReadOnly _clientSecret As String = ConfigurationManager.AppSettings("okta:ClientSecret")
    
            Public Sub Configuration(ByVal app As IAppBuilder)
                ConfigureAuth(app)
            End Sub
    
            Public Sub ConfigureAuth(ByVal app As IAppBuilder)
                app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie)
                app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType)
                app.UseCookieAuthentication(New CookieAuthenticationOptions())
                app.UseOpenIdConnectAuthentication(New OpenIdConnectAuthenticationOptions With {
                    .ClientId = _clientId,
                    .ClientSecret = _clientSecret,
                    .Authority = _authority,
                    .RedirectUri = _redirectUri,
                    .ResponseType = OpenIdConnectResponseType.CodeIdToken,
                    .Scope = OpenIdConnectScope.OpenIdProfile,
                    .TokenValidationParameters = New TokenValidationParameters With {
                        .NameClaimType = "name"
                    },
                    .Notifications = New OpenIdConnectAuthenticationNotifications With {
                        .AuthorizationCodeReceived = Async Function(n)
                                                         Dim tokenClient = New TokenClient($"{_authority}/v1/token", _clientId, _clientSecret)
                                                         Dim tokenResponse = Await tokenClient.RequestAuthorizationCodeAsync(n.Code, _redirectUri)
    
                                                         If tokenResponse.IsError Then
                                                             Throw New Exception(tokenResponse.[Error])
                                                         End If
    
                                                         Dim userInfoClient = New UserInfoClient($"{_authority}/v1/userinfo")
                                                         Dim userInfoResponse = Await userInfoClient.GetAsync(tokenResponse.AccessToken)
                                                         Dim claims = New List(Of Claim)(userInfoResponse.Claims) From {
                                                             New Claim("id_token", tokenResponse.IdentityToken),
                                                             New Claim("access_token", tokenResponse.AccessToken)
                                                         }
                                                         n.AuthenticationTicket.Identity.AddClaims(claims)
                                                     End Function
                    }
                })
            End Sub
        End Class
    End Namespace

    Luego en mi web.config tengo lo siguiente:

    <add key="owin:AutomaticAppStartup" value="true" />
    <add key="owin:appStartup" value="AspNetWebFormsOkta.Startup" />

    En el equipo de desarrollo funciona pero al publicarlo en otro servidor y tratar de ejecutarlo me sale el siguiente error:

    No assembly found containing an OwinStartupAttribute.
    The given type or method 'AspNetWebFormsOkta.Startup' was not found. Try specifying the Assembly.

    Alguna idea de por que este error?

    Gracias 

    sábado, 13 de junio de 2020 17:59

Respuestas

  • Hola  nelson111,

      

    ya tienes Microsoft.Owin.Host.SystemWeb para que Startup sea llamado, tambien te dejo este documento oficial https://docs.microsoft.com/es-es/aspnet/aspnet/overview/owin-and-katana/owin-startup-class-detection


    Gracias por usar los foros de MSDN. 

      

    Andres Aguilar 

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    • Marcado como respuesta nelson111 miércoles, 17 de junio de 2020 17:49
    lunes, 15 de junio de 2020 22:05
    Moderador

Todas las respuestas

  • Hola  nelson111,

      

    ya tienes Microsoft.Owin.Host.SystemWeb para que Startup sea llamado, tambien te dejo este documento oficial https://docs.microsoft.com/es-es/aspnet/aspnet/overview/owin-and-katana/owin-startup-class-detection


    Gracias por usar los foros de MSDN. 

      

    Andres Aguilar 

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    • Marcado como respuesta nelson111 miércoles, 17 de junio de 2020 17:49
    lunes, 15 de junio de 2020 22:05
    Moderador
  • Hola nelson111

    Gracias por confirmar que se ha encontrado una solución a la consulta realizada. Debido a ello, este hilo será cerrado. 

    Si es necesario, por favor abra un nuevo hilo. 

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN. 

     

     Andres Aguilar

    ____________________________ 

     

    miércoles, 17 de junio de 2020 21:53
    Moderador