JSON Web Token and its family (JSON Web Signature, JSON Web Encryption and JSON Web Key) in Ruby

Nov Matake 7d8544e13a Merge pull request #30 from kintner/kintner/jwe_spec 9 年之前
lib 42dce26442 alias_method_chain wasn't needed here at all 9 年之前
spec 0c4d0fd478 fill in alg=dir tests for JWE 9 年之前
.gitignore 9033983eee rm gemfile.lock from repo 12 年之前
.gitmodules 90f6947927 make submodule readonly 12 年之前
.rspec 8afa3a3104 first commit 13 年之前
.travis.yml 06b6670601 goodbye ruby 1.9.3 9 年之前
Gemfile 80e765253f allow skipping verification when decoding 12 年之前
LICENSE 8afa3a3104 first commit 13 年之前
README.md eaf0532ce4 link 9 年之前
Rakefile 69e6dc8fb7 goodbye 1.8 10 年之前
VERSION caaa29be43 v1.5.2 9 年之前
json-jwt.gemspec c6121311c9 fix Elliptic Curve calculation 10 年之前

README.md

JSON::JWT

JSON Web Token and its family (JSON Web Signature, JSON Web Encryption and JSON Web Key) in Ruby

Build Status

Installation

gem install json-jwt

Resources

Examples

require 'json/jwt'

private_key = OpenSSL::PKey::RSA.new <<-PEM
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAyBKIFSH8dP6bDkGBziB6RXTTfZVTaaNSWNtIzDmgRFi6FbLo
 :
-----END RSA PRIVATE KEY-----
PEM

public_key = OpenSSL::PKey::RSA.new <<-PEM
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyBKIFSH8dP6bDkGBziB6
 :
-----END PUBLIC KEY-----
PEM

# Sign & Encode
claim = {
  iss: 'nov',
  exp: 1.week.from_now,
  nbf: Time.now
}
jws = JSON::JWT.new(claim).sign(private_key, :RS256)
jws.to_s

# Decode & Verify
input = "jwt_header.jwt_claims.jwt_signature"
JSON::JWT.decode(input, public_key)

For more details, read Documentation Wiki.

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright (c) 2011 nov matake. See LICENSE for details.