Estoy probando una implementación de seguridad basada en Token JWT basada en el siguiente artículo . He recibido con éxito un token del servidor de prueba. No puedo entender cómo hacer que el programa Chrome POSTMAN REST Client envíe el token en el encabezado.
Mis preguntas son las siguientes:
1) ¿Estoy usando el nombre de encabezado y / o la interfaz POSTMAN correctos?
2) ¿Necesito que la base 64 codifique el token? Pensé que podría devolver el token.
Respuestas:
Para el nombre del encabezado de la solicitud, use Autorización. Colocar portador antes de la ficha. Acabo de probarlo y funciona para mí.
Autorización: Portador TOKEN_STRING
Cada parte del JWT es un valor codificado en base64url.
fuente
Aquí hay una imagen si ayuda :)
Actualizar:
El equipo de carteros agregó "Token de portador" a la "pestaña de autorización":
fuente
Estoy agregando a esta pregunta un pequeño consejo interesante que puede ayudarlos a probar JWT Apis.
Es muy simple en realidad.
Cuando inicie sesión, en su Api (punto final de inicio de sesión), recibirá inmediatamente su token y, como dijo @ mick-cullen, tendrá que usar el JWT en su encabezado como:
Ahora, si desea automatizar o simplemente hacer que su vida sea más fácil, sus pruebas pueden guardar el token como un global que puede llamar en todos los demás puntos finales como:
En cartero: luego haga una variable global en cartero como jwt_token = TOKEN_STRING.
En su punto final de inicio de sesión: para que sea útil, agregue al comienzo de la pestaña Pruebas agregar:
Supongo que su API devuelve el token como un json en la respuesta como: {"jwt_token": "TOKEN_STRING"}, puede haber algún tipo de variación.
En la primera línea, agrega la respuesta a la variable de datos. Limpia tu Global y asigna el valor.
Entonces, ahora tiene su token en la variable global, lo que facilita su uso Autorización: Portador {{jwt_token}} en todos sus puntos finales.
Espero que este consejo te ayude.
EDITAR
algo para leer
Acerca de las pruebas en Postman: ejemplos de pruebas
Línea de comando: Newman
CI: integrando con Jenkins
Buena publicación de blog: automatización de prueba de api maestra
fuente
Test
pestaña y la codificación del cartero. ¿Hay algún recurso que recomiende para comenzar con esto?Tuve el mismo problema en
Flask
y después de probar las 2 primeras soluciones que son iguales (Authorization: Bearer <token>
), y obteniendo esto:Finalmente pude resolverlo usando:
Pensé que podría ahorrar algo de tiempo a las personas que se encuentran con lo mismo.
fuente
Authentication credentials were not provided
endjango
usoBearer <token>
. resuelto conjwt <token>
. Gracias por la soluciónAquí se explica cómo configurar el token automáticamente
En su solicitud de inicio de sesión / autenticación
Luego para la página autenticada
fuente
Si desea utilizar cartero, la forma correcta es utilizar los encabezados como tales
clave: Autorización
valor: jwt {token}
Tan sencillo como eso.
fuente
Para las personas que usan el complemento de acceso avanzado de WordPress Manager para abrir la autenticación JWT.
El campo Encabezado debe colocar Autenticación en lugar de Autorización
AAM lo mencionó dentro de su documentación ,
Espero que ayude a alguien! ¡Gracias por otras respuestas también me ayudaron mucho!
fuente
¡Hecho!
fuente
Todo lo demás, es decir. Params, Authorization, Body, Pre-request Script, Tests está vacío, solo abra la pestaña Encabezados y agregue como se muestra en la imagen. Es lo mismo para la solicitud GET también.
fuente
De alguna manera, el cartero no funcionó para mí. Tuve que usar una extensión de Chrome llamada RESTED que funcionó.
fuente
Hice lo que mencionó moplin. Pero en mi caso, el servicio envió el JWT en encabezados de respuesta, como un valor bajo la clave "Autorización".
Lo que hice fue hacer una variable global en cartero como
en solicitud de inicio de sesión-> pestaña Pruebas, agregue
en otras solicitudes, seleccione la pestaña Encabezados y proporcione
fuente
En Postman, la última versión (7 ++) puede ser que no haya un campo Portador en la Autorización. Vaya a la pestaña Encabezado
seleccione clave como Autorización y en valor escriba JWT
fuente
Bearer Token
asistente en laAuthorization
pestaña, agregando el valor del token aquí (codificado o como variable dinámica) creará el mismoAuthorization
encabezado para la solicitud.