es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ocultar el token de API del código fuente de la página .cshtml generada.

Tengo una página .cshtml donde hacer clic en un botón llama a una API.

Actualmente, mi código JS se ve así:

var headers = {};
headers["Authorization-Token"] = '@Model.ApiToken';

$.ajax({
    url: "mi-url",
    type: "GET",
    headers: headers
});

Sin embargo, si el usuario final abre la consola del navegador, va a la pestaña de Red y busca la cshtml generada, puede ver:

var headers = {}
headers[Authorization-Token] = 'my_token'

El token se puede ver en texto claro. No puedo llamar a mi API sin este encabezado, ya que la llamada se rechaza inmediatamente si el encabezado no está presente.

¿Hay alguna manera de ocultarlo al usuario final y, de ser así, cómo?

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Una forma de ocultar el token del usuario final es cifrándolo antes de enviarlo al lado del cliente. También se puede utilizar una sesión del lado del servidor para almacenar el token y pasarla al lado del cliente según sea necesario, en lugar de incluirlo en el código fuente de la página. Otro enfoque es utilizar un servidor proxy para reenviar las solicitudes de API e incluir el encabezado allí en lugar del código del lado del cliente. Otra opción es cambiar de usar un encabezado a usar cookies para pasar el token, que puede ser cifrado y accedido solo por el servidor.

Comments are closed.