# 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.