none
MVC cliente auteticar con WE API 2

    Pregunta

  • Buen día 

    Mi pregunta es la siguiente tengo un cliente con MVC pero por necesidad del usuario esta debe obtener la autenticación por medio de una WEB API (REST) ya implementada, ademas cuando el usuario inicie sesión la API debe retornar los datos como nombre de usuario, rol y permisos, esto es posible?, hay alguna forma de hacerlo con IDENTITY, les agradezco que con su gran conocimiento me puedan ayudar.

    martes, 05 de diciembre de 2017 14:45

Todas las respuestas

  • Hola

    Recuerda que al consumir el web api apuntarás a tu base de datos y en donde por consiguiente estarán guardadas dichas tablas. Te dejo un par de enlaces de interés:

    ASP.NET Identity 2.1 with ASP.NET Web API 2.2 (Accounts Management) – Part 1

    Using asp net identity with Web API

    Saludos


    Brayan De la Cruz
    Lima - Perú

    martes, 05 de diciembre de 2017 15:02
  • Gracias ya estoy leyendo y aplicado lo que me enviaste, ahora quiero saber por medio del atributo [Authorize] los cuales tengo en los diferentes controladores de las vistas en el front-end (Cliente WEB MVC), identificar que el usuario esta autenticado, si es la WEB API la que se encarga de este proceso, como hago para que el cliente web obtenga esas autorizaciones y así que el usuario pueda acceder a las diferentes vistas según su rol.

    ¿Es decir puedo almacenar estas autorizaciones en una variable en el cliente web?

    ¿Es seguro hacerlo?

    ¿O cómo puedo hacerlo?

    *para ser mas claro esta aplicación esta construida de la siguiente forma un front-end (cliente WEB con MVC) echa en el 2014 la cual no cuenta con angular, el login y registro se consumen la API WEB desde el controlador de esta.

    * una api (Rest) construida este año la cual tiene toda las operaciones.

    y ambas funcionan de forma independiente ya que una se encuentra alojada en EEUU y la otra en brasil.

    Gracias

    miércoles, 06 de diciembre de 2017 17:33
  • Si utilizas Web Api Rest, lo más común es que tengas un token verdad? 

    cheka lo siguiente: Inicio de sesión basado en tokens con Web Api

    o cheka este: Securiza tu WebApi con tokens autogenerados

    La responsabilidad de autenticación se la dejas al servicio web, tu solo consumes y te aseguras de mandar el token para que puedas tener el permiso de consumo y operaciones

    Saludos


    Brayan De la Cruz
    Lima - Perú

    miércoles, 06 de diciembre de 2017 17:45
  • Hola colegas tengo un problema parecido, tengo una web api con c# y autenticación basada en token la que trae propia, desde mi cliente en mvc realizo el login sin problema alguno, pero cuando intento acceder a algún controlador me da error ya que no está enviándose de manera correcta el header con el token de autorización para acceder a los métodos del controlador, pensé que era algún error pero ya corroboré en postman que todo funciona correctamente la manera en la que intento enviar el token es

    $.ajax({
      url: 'http://midominio.com/api/customers',
      method: 'GET',
       headers: {
        'Authorization': 'Bearer' + sessionStorage.getItem('accessToken')
      },
    success: function (data) {
      console.log('OK');
      },
    error: function (jqXHR) {
      alert('Error', jqXHR.responseText);
      }
    });

    pero he visto que solo me funciona si en el la acción que intento acceder no cargo nada ejemplo

    public ActionResult Index()
    {
    return View();
    }

    de lo contrario me da un error 405

    saludos cordiales espero me puedan apoyar de ante mano muchas gracias

    martes, 05 de junio de 2018 23:15