Ga naar hoofdinhoud

Voorbereiding JWT

📺 Bekijk deze video om goed te begrijpen wat JWT is en waar het voor gebruikt wordt: https://www.youtube.com/watch?v=7Q17ubqLfaM

👉 Run dit voorbeeld om JWT's te kunnen maken en controleren: https://docs.deno.com/examples/creating_and_verifying_jwt/. Dit voorbeeld gebruikt TypeScript. Maak er JavaScript van en fix alle errors die er dan optreden

💡 Bovenstaand voorbeeld gebruikt een oudere versie van de jose. Zie deze link voor een nieuwere versie: https://deno.land/x/jose@v6.1.0

🔋 Voor meer informatie over jose, zie https://github.com/panva/jose

💡 Zie dit artikel https://medium.com/swlh/authentication-and-authorization-using-jwts-in-node-js-2311468b9ff7 om een idee te krijgen hoe je een authorisatie/resource-server kan combineren met een applicatie-server. Let met name op de flow bij Project outline.

👉 Volg deze tutorial https://youtu.be/mbsmsi7l3r4?si=ATU7IneFprEIEO0Z voor een stap voor stap instructie. Deze tutorial is voor NodeJS, dus implmenteer jouw code direct in DenoJS met de libraries die je in dit project gebruikt.

:point_right Test de code die je in bovenstaande tutorial hebt gemaakt in de browser door de JWT's die je van de server krijgt in localStorage op te slaan. Zie deze de sectie Local Storage van deze bron https://www.descope.com/blog/post/developer-guide-jwt-storage voor een voorbeeld

💡 Bekijk het "project outline" gedeelte van dit artikel https://medium.com/swlh/authentication-and-authorization-using-jwts-in-node-js-2311468b9ff7 om een idee te krijgen hoe je een authorisatie- en resource-server kan combineren en over de flow hiertussen.

👉 Gebruik de code-voorbeelde uit bovenstaand artikel om je eigen authServer en resourceServer te maken in DenoJS.

  • Het artikel leunt sterk op het mini-framework Express. In Deno bestaat een soortgelijk framework genaamd Oak. Gebruik dit framework niet.
  • Gebruik voor jwt's de library jose en voor bcrypt de library argon2 (https://jsr.io/@felix/argon2).

👉 Koppel een frontend aan de code die je bij het vorige punt hebt gemaakt en sla de JWT's die je van de server krijgt in localStorage van de Browser. Zie deze de sectie Local Storage van deze bron https://www.descope.com/blog/post/developer-guide-jwt-storage voor een voorbeeld.