No release in over a year
NextAuth session token decoder
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 13.0
~> 3.12

Runtime

~> 1.0.0
~> 1.1.3
 Project Readme

NextAuth.js Session Token Decoder

If you ever find yourself in a situation where you need to decrypt the NextAuth.js session token on your Ruby backend, look no further than this gem. It’s specifically designed to make the decryption process easy and seamless. The source code for this library has been extracted from Cooper Pet Care’s code base.

Installation

Add this gem to your Gemfile:

gem 'next-auth-session-token-decoder', '~> 0.1.0', require: 'next_auth_decoder'

and run bundle install.

Usage

token = 'eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..VxVkx9tG5eLKexs-.GQ792tADkdL10q_EntQO6bu-QYgr2gIqx7RwfRzA7HkMMrQ8Bu5Bfgh5UjYnI6J9bnagd6C_eOoQTMypMkXynPX_ogEEwlxLZLTXgn2yFTIDZHFEyXlmV53_FRJ82BNoYLv76lVZuNJwYdID8R-2thjML2VE3AblcNn2KJNCreXMztPrN9-AwOlAHofK3Q.14-TZcu0Br4kS7IPWhlC8g'

options = {
  info: 'NextAuth.js Generated Encryption Key',
  secret: 'super-secret-key',
}

NextAuthDecoder::Token.new(token, options).decode
=>
{
  "email"=>"test@email.com",
  "username"=>"Test username",
  "iat"=>1678818018,
  "exp"=>1681410018,
  "sub"=>"2",
  "jti"=>"ef109254-6cc0-4939-8cd3-faf172cd790f"
}

RSpec

First install dependencies:

bundle install

Now you're ready to test it:

bundle exec rspec spec

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/cooperpetcare/next-auth-session-token-decoder.

License

The gem is available as open source under the terms of the MIT License.