none
Como implmentar mecanismo de autenticación de Apis para multiples proyectos Web Api RRS feed

  • Pregunta

  • Hola

    Normalmente tengo unas Apis las cuales tienen implementado autenticación por token mediante Owin para poder ser consumidas. Inicialmente mando unas credenciales, las cuales me retornan un token o barer el cual agrego en el header de cada request.

    Ahora necesito hacer algo similar pero la autenticación debe ser válida para muchas Apis (diferentes proyectos), especificamente proyectos Web Api .Net Core 2.1. La idea es que sea una sola Api con la cual me autentique y luego pueda consumir todo el resto de las apis con el mismo token.

    Entiendo que existen Apis Manager (conozco wso2) pero para este caso el uso de estos Api Manager lo tengo restringido.

    Otra cosa que necesito saber es lo siguiente. Por lo general se que estos token son Staless, pero estás Apis serán consimidas por Aplicaciones móviles y de cierta forma necesito identificar el usuario conectado y otros aspectos como el lenguaje, dispositivo, etc. Cual sería la mejor forma de obtenerlo dicha información?

    Saludos
    miércoles, 2 de enero de 2019 14:16

Respuestas

  • Hola, hecha un ojo a Identity Server 4

    Yo lo he implantado en varios clientes y funciona muy bien. Al ser OpenSource tienes el código disponible en 

    https://github.com/IdentityServer

    https://github.com/IdentityServer/IdentityServer4.Samples

    También te he puesto ejemplos.

    Saludos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 2 de enero de 2019 16:38
    Moderador
  • Otra cosa que necesito saber es lo siguiente. Por lo general se que estos token son Staless, pero estás Apis serán consimidas por Aplicaciones móviles y de cierta forma necesito identificar el usuario conectado y otros aspectos como el lenguaje, dispositivo, etc. Cual sería la mejor forma de obtenerlo dicha información?

    Para obtener es información, a la hora de generar el token de AUTENTICACION vía OpenID deberías crear los Claims que te hagan falta. El usuario conectado por defecto ya te lo indica en el claim "sub" y el resto deberías incluirlo tú vía código. 


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 2 de enero de 2019 16:42
    Moderador

Todas las respuestas

  • hola

    >>La idea es que sea una sola Api con la cual me autentique y luego pueda consumir todo el resto de las apis con el mismo token.

    entiendo que puedes hacerlo y funciona directamente

    Crea un proyecto que exponga la api que devuelve el token, la invocas en priner lugar y despues la puedes usar para llamar a las apis de los otros proyectos

    >>pero estás Apis serán consimidas por Aplicaciones móviles y de cierta forma necesito identificar el usuario conectado y otros aspectos como el lenguaje,

    podrias conservar estod datos si lo envias como parte de los Claims, entonces lo recuperas en el cliente en cada llamada

    Identify users and their permissions with JWTs and ASP.NET Core WebAPI

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 2 de enero de 2019 15:50
  • Hola, hecha un ojo a Identity Server 4

    Yo lo he implantado en varios clientes y funciona muy bien. Al ser OpenSource tienes el código disponible en 

    https://github.com/IdentityServer

    https://github.com/IdentityServer/IdentityServer4.Samples

    También te he puesto ejemplos.

    Saludos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 2 de enero de 2019 16:38
    Moderador
  • Otra cosa que necesito saber es lo siguiente. Por lo general se que estos token son Staless, pero estás Apis serán consimidas por Aplicaciones móviles y de cierta forma necesito identificar el usuario conectado y otros aspectos como el lenguaje, dispositivo, etc. Cual sería la mejor forma de obtenerlo dicha información?

    Para obtener es información, a la hora de generar el token de AUTENTICACION vía OpenID deberías crear los Claims que te hagan falta. El usuario conectado por defecto ya te lo indica en el claim "sub" y el resto deberías incluirlo tú vía código. 


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 2 de enero de 2019 16:42
    Moderador