Coder Social home page Coder Social logo

jsonwebtoken.github.io's People

Contributors

adrogon avatar alejofernandez avatar beneliflo avatar byron-okta avatar cristiandouce avatar dependabot[bot] avatar diegopoza avatar florkaa avatar florlafuente avatar gnandretta avatar jfromaniello avatar lestrrat avatar lolgear avatar mgonto avatar mike-casas avatar nefilim avatar nov avatar pabloalvarezauth0 avatar panva avatar petrichor8 avatar pose avatar rickyrauch avatar robotdan avatar sambego avatar scottmathson avatar sebadoom avatar simo5 avatar spomky avatar vctrfrnndz avatar woloski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jsonwebtoken.github.io's Issues

Process for adding a new lib?

Howdy all,

sorry if I overlooked it but I cannot seem to find any docs on the steps to getting a new library added to the website.

I see a few other issues where people are asking to be added so I may not be the only one.

Thanks!

Feature Request: Shareable URL

Make it easier to share a URL to jwt.io that contains a web token. A couple ideas:

  • Automatically update the URL with the ?value=token whenever the token is modified in the editor/viewer.
  • Display a shareable URL somewhere on the page that I can copy/paste.

Debugger fails if array is used in payload

I ran the payload from an Auth0 article in the debugger and it fails with message "Invalid Signature."

Payload:

{
  iat: 1416929061,
  jti: "802057ff9b5b4eb7fbb8856b6eb2cc5b",
  scopes: {
    users: {
      actions: ['read', 'create']
    },
    users_app_metadata: {
      actions: ['read', 'create']
    }
  }
}

Add RSA support for Signature

Expected Flow

  1. User should be able to pick/select from a list of supported signature types, as a dropdown or tabs at the debugger: http://jwt.io/#debugger

    image

    Note: UI/UX implementation may vary, the main concern is the implementation.

  2. Depending on the algorithm selected for the signature, the user should dispose of an input[type="text"] or an input[type="file"] at the signature edit section.

    image

    Note: Secret keys should never be uploaded.

Text input does not work on iOS/Android

There are a few issues I found:

When clicking on the textbox and holding the delete key only one character is deleted and the delete key is released. The expected iOS behavior is that you can click and hold to continually delete.
You cannot click and hold to select the text thus making it difficult to clear the textbook.
You cannot click and hold to copy or paste. Paste is most problematic because it makes the site impossible to use on iOS unless you memorize and type the key manually.
Here is a video of the interactions. At then end you will see me trying to click, click and hold, etc.

https://www.dropbox.com/s/26bw8lkp380k8lv/2015-02-06_12-24-24.mp4?dl=0

My guess is we are just intercepting too many events incorrectly. One nice thing would be on mobile browsers that once you click on the text box it automatically clears then the user can easily paste in the box.

Ruby library with extra features

Hello,

We developed a new gem for ruby, we support exp, iss and aud.

Not sure what's the approach you're taking on the web, but you could show both ruby implementations.

New PHP library

Hi,

I created a new PHP library.
Even if this library has to be improved, it is quite stable now.

This is a very complete library and provides:

  • JWK support
  • JWKSet support,
  • JWS support including:
    • all signature algorithms support
    • Compact, Flattened or multiple signature serialisation representation support,
  • JWE support including
    • all key encryption algorithms support
    • all content encryption algorithms support
    • compression support
    • Compact, Flattened or multiple recipients serialisation representation support,

More information at Spomky-Labs/jose.
The documentation is not complete.

It will be great if you can test it and send me feedbacks.

Fix HS256 example

In security related areas we should always show good practices in examples:

As the secret in the HS256 example a secret based on the recommendations from RFC 4868 should be used: The length of the secret should at least the size of the block size of the hash function (64 bytes for SHA256). The used "secret" is way to short.

Serve jwt.io over HTTPS

I know this isn't the easiest fix given this is hosted on GitHub, but a site where people paste in potentially-secret tokens should not be served over HTTP. Granted, someone concerned about security should not be pasting into a web form in the first place... but let's be real, it happens. Thoughts?

Refs isaacs/github#156

Ability to provide a complete initial state via URL?

Would you accept a PR allowing all default state values to be passed in via the URL hash?

This would be win for projects that want to refer to jwt.io in their documentation/examples. See, for example, how we point to jwt.io from the example at the bottom of http://docs.smarthealthit.org/authorization/backend-services/ -- it would be nice to provide a complete working link instead of asking the user to paste in sample values for claims, public key, and private key.

For a site with a similar mechanism, see this feel link to the json-ld playground

Decoded timestamps

Would be nice to show the human readable iat and exp fields.

Maybe even highlight if the token has already expired?

Separation of data and layout

While adding a new library I had to deal with explicitly setting specific icons. It'd be nice if I could just edit a JSON/YAML/TOML/INI file and not be concerned with the layout.

Encoding issue:Unable to encode gravatar

My user model consists of : email,username,password,gravatar(all are of type String)
sample input:
email:[email protected]
username:abc
password:****
gravatar://www.gravatar.com/avatar/900150983cd24fb0d6963f7d28e17f72?s=40&d=retro

Unable to encode above gravatar value into jsonwebtoken

Do basic checks on libraries before adding them to the libraries list

I've looked at multiple libraries that all claimed to support ECDSA signing but didn't implement the RFC correctly.

I think you should require libraries to include some proof that they implemented the RFCs correctly before being accepted in the JWT library list.

For example they could link to some tests/code example which uses the test vectors mentioned in RFC 7520.

Most of the libraries I've seen only test their verification implementation against their own signing implementation. This is a bad practice. They should at least test against the RFC 7520 examples to prove they've implemented signing and verification correctly.

Lua link is incorrect

The links in the Lua (openresty) section point to the Scala library:

<!-- Lua (openresty) SkyLothar/lua-resty-jwt -->
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Lua (openresty)</h3>
</div>
<div class="panel-body library">
<div class="row">
<div class="col-md-6">
<div><i class="icon-budicon-500"></i>Sign</div>
<div><i class="icon-budicon-500"></i>Verify</div>
<div><i class="icon-budicon-501"></i><code>iss</code> check</div>
<div><i class="icon-budicon-501"></i><code>sub</code> check</div>
<div><i class="icon-budicon-501"></i><code>aud</code> check</div>
<div><i class="icon-budicon-500"></i><code>exp</code> check</div>
<div><i class="icon-budicon-500"></i><code>nbf</code> check</div>
<div><i class="icon-budicon-501"></i><code>iat</code> check</div>
<div><i class="icon-budicon-501"></i><code>jti</code> check</div>
</div>
<div class="col-md-6">
<div><i class="icon-budicon-500"></i>HS256</div>
<div><i class="icon-budicon-501"></i>HS384</div>
<div><i class="icon-budicon-500"></i>HS512</div>
<div><i class="icon-budicon-501"></i>RS256</div>
<div><i class="icon-budicon-501"></i>RS384</div>
<div><i class="icon-budicon-501"></i>RS512</div>
<div><i class="icon-budicon-501"></i>ES256</div>
<div><i class="icon-budicon-501"></i>ES384</div>
<div><i class="icon-budicon-501"></i>ES512</div>
</div>
</div>
<div class="author-info">
<div class='maintainer'><i class="icon-budicon-333"></i>Maintainer: <a href="https://github.com/jasongoodwin">jasongoodwin</a></div>
<div class="repository">
<i class="fa fa-github"></i> <a href="https://github.com/jasongoodwin/authentikat-jwt">View Repo</a>
</div>
</div>
</div>
<div class="panel-footer">
<code>sbt: "com.jason-goodwin" %% "authentikat-jwt" % "0.3.5" </code>
</div>
</div>
</div>

Added Haxe Implementation

Hi there,

I have recently prepared the jwt implementation for the Haxe language. It would be my pleasure to get it listed on the website. The repo can be found here.

Supported features at the moment:
Sign, verify, iss check, aud check, exp check, HS256

Thanks,
Kevin

Start tracking encryption and JWK support

Hi guys,

just as an idea may be it's time to start tracking not only signing, but also encryption and JWK support?

Many libraries looks absolutely same in your list (e.g. almost all support full suite for signing). But if you dig to extended capabilities it will make difference.

Probably it even make sense to split support to: JWT (iss, nbf and other semantic claims), JOSE (sig and encryption) and JWK.

Memory leak?

Came back to my chugging machine, and turns out Firefox is using 7GB of memory -- had to force quit, but restored the session so I could repeat the process, and running about:memory on the same sites turns out that http://jwt.io has some sort of leak. Here's an image of the memory usage after a few hours of jwt.io being open, using over a gig of memory.

http://i.imgur.com/5TLaklW.png

Support Firefox in the Extension

Hi! I'm happy to take this, but which branch should I be working from? Looks like chrome-extension, but that's diverged a bit from master and currently has merge conflicts.

Suggestions?

Sharing

Noticed that by passing ?value=<JWT> you can populate the debugger. Might be a good idea to have some kind of share button around so you can share the URL for the current value in the debugger.

Verify Base64 standard encoding regarding padding

I'm noticing that some libraries (ruby JWT) are stripping padding '=' and making a base64 string that is not decodable without re-appending '=' (which is what the ruby JWT does)

Of course I'm generating the JWT and using /verifying it in another language.

Does JWT officially have a position on the base64 standard and padding?

Would it be possible to make "conforms to standard base64 " part of the checkboxes that you have in the list of libraries.

Best Regards,

Curtis

Site jwt.io brings power workstation to the knees

I have so much CPU and RAM I can't even recall numbers, I know I can open as much as 4 resource-hog IDE's written in Java and feel no slightest glimpse of slowdown.

Then I open jwt.io, all GUI feels sluggish, and whatever browser I use to open, takes near all CPU as of htop.

Where's no version info in index.html, wget jwt.io -O - | md5sum = 54929852d61a4736925d199cb72e2bcc.

Please fix, or do release comprehensive command line utilty to manipulate tokens.

P.S. OS is Ubuntu updated daily, browsers are latest Firefox and Chrome.

Tokens with two underscores in encoded format do not work

This has got to be one of the weirdest issues I have encountered. Tokens with two undescores in encoded base64 format do not work on the jwt.io site.

Add the following message as token in the jwt.io site: {"?":"aa?"}

The resulting token is: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyI_IjoiYWE_In0.y88bwJcmo-S3xoYBPEARz3oJkeDaHN9TbvAiOABYoxQ

Now try pasteing the same token back in to jwt.io. The result is that the JSON box in the middle stays empty.

Now change one of the _ characters to any base64url character, for example -. The token magically appears and now shows: { "?": "aa>" }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.