1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00

Add Generate A Signed JWT Token as a ruby til

This commit is contained in:
jbranchaud
2019-02-14 14:23:47 -06:00
parent 58e24b5a7d
commit 5a36f7b799
2 changed files with 21 additions and 1 deletions

View File

@@ -10,7 +10,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
For a steady stream of TILs from a variety of rocketeers, checkout
[til.hashrocket.com](https://til.hashrocket.com/).
_763 TILs and counting..._
_764 TILs and counting..._
---
@@ -601,6 +601,7 @@ _763 TILs and counting..._
- [FactoryGirl Sequences](ruby/factory-girl-sequences.md)
- [Fail](ruby/fail.md)
- [Finding The Source of Ruby Methods](ruby/finding-the-source-of-ruby-methods.md)
- [Generate A Signed JWT Token](ruby/generate-a-signed-jwt-token.md)
- [Generate Ruby Version And Gemset Files With RVM](ruby/generate-ruby-version-and-gemset-files-with-rvm.md)
- [Identify Outdated Gems](ruby/identify-outdated-gems.md)
- [If You Detect None](ruby/if-you-detect-none.md)

View File

@@ -0,0 +1,19 @@
# Generate A Signed JWT Token
The [`jwt`](https://github.com/jwt/ruby-jwt) gem is a Ruby library for
encoding and decoding JWT tokens. You can create a signed JWT with the
`#encode` method by specifying a secret and a hash algorithm.
```ruby
payload = { id: 1, email: 'user@example.com' }
secret = Rails.application.credentials.secret_key_base
token = JWT.encode(payload, secret, 'HS256')
```
This will create a JWT token that contains some JWT headers, application
data, and an encrypted secret that signs the data. This can be passed to and
from your client app as a way of identifying and authenticating a user.
See the [`jwt-ruby` docs](https://github.com/jwt/ruby-jwt) or
[jwt.io](https://jwt.io/) for more details.