stephaneseng / jsonwebtoken.github.io

Fork of jsonwebtoken/jsonwebtoken.github.io which adds support for tokens sent in HTTP requests headers in the web extension

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JWT.io

This repository is a fork of https://github.com/jsonwebtoken/jsonwebtoken.github.io, which adds support for tokens sent in HTTP requests headers in the web extension.

To do so, all "Authorization" and "Permission" HTTP request headers sent in a browser tab are now intercepted and examined to detect JWT tokens.
The detected tokens are then made accesible in the web extension popup, displayed by subdomain and by header name.

For example, if, in the current tab, a request is sent to subdomain.domain.tld with an "Authorization" header containing a JWT token, the token will be accessible in the web extension popup:

web-extension-popup-request-headers.png


Build Status

How to add a library

To add a library, simply edit the right JSON file located at views/website/libraries. Each language gets its own file. Multiple libraries share the same language file.

To add a new language, simply add a JSON file in the same folder as the others. It will get automatically recognized. If you add a new language, you will need to provide a proper icon for it and place it in the img folder.

Here's a commented example of the .NET language file (0-.NET.json). All fields must have valid values unless noted:

{
  // Language name (unique)
  "name": ".NET",

  // Unique identifier that will be used as a CSS class
  // for this language (only valid CSS class names).
  "uniqueClass": "net",

  // The language icon, SVG format preferred, should be placed
  // in /img directory.
  "image": "/img/1.svg",

  // The color of header that displays the name of the language
  // and the icon. This is a valid CSS color definition.
  "bgColor": "rgb(42, 168, 229)",

  // An array of libraries for this language.
  "libs": [
    {
      // In case the library suffered from a vulnerability, the
      // minimum version in which the vuln was fixed must be
      // listed here. Optional (can be null).
      "minimumVersion": "1.0.1", // or null

      // Supported features, true for supported,
      // false for not supported.
      "support": {
        "sign": true,
        "verify": true,
        "iss": true,
        "sub": true,
        "aud": true,
        "exp": true,
        "nbf": true,
        "iat": true,
        "jti": true,
        "hs256": true,
        "hs384": true,
        "hs512": true,
        "rs256": true,
        "rs384": true,
        "rs512": true,
        "es256": true,
        "es384": true,
        "es512": true,
        "ps256": true,
        "ps384": true,
        "ps512": true,
        "eddsa": true
      },

      // Author URL, can be GitHub profile, personal page
      // company page, etc. Can be null.
      "authorUrl": "https://www.microsoft.com", // or null

      // Author name.
      "authorName": "Microsoft",

      // For the star count, this is the GitHub repository path,
      // (usually user/repo). Can be null (no star count shown).
      "gitHubRepoPath": "AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet", // or null

      // URL for source code.
      "repoUrl": "https://github.com/MSOpenTech/azure-activedirectory-identitymodel-extensions-for-dotnet",

      // Install command, can be HTML or plain text.
      "installCommandHtml": "Install-Package<br><a href=\"https://www.nuget.org/packages/System.IdentityModel.Tokens.Jwt/\">System.IdentityModel.Tokens.Jwt</a>"
    }
  ]
}

How to build

First, install the required dependencies:

npm install

In order to build (and run) the project execute:

./node_modules/.bin/grunt

You will find the generated files in the dist directory. For the website, you can run a server at its root. For example: http-server dist/website. The default grunt task runs a server at https://127.0.0.1:8000 and watches for changes.

To run tests, execute:

./node_modules/.bin/grunt test

Look at the end of the Gruntfile for other common tasks.

Happy hacking!

About

Fork of jsonwebtoken/jsonwebtoken.github.io which adds support for tokens sent in HTTP requests headers in the web extension

License:Other


Languages

Language:JavaScript 58.2%Language:CSS 32.8%Language:HTML 9.0%