0.0
No release in over 3 years
Low commit activity in last 3 years
Summary of RailsJwtAdmin.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

 Project Readme

RailsJwtAdmin

JWT-based authentication system for Rails admin panel.

Features

  • JWT token-based authentication
  • Admin user management
  • Secure API responses with consistent format
  • Easy installation and configuration

Installation

  1. Add the required gems to your Gemfile(If not already added):
# decode/encode methods
gem "jwt"
gem "bcrypt"

# normalize response
gem "rails_warp"
gem "rails_jwt_admin"
  1. Run bundle install:
bundle install
  1. Install the admin:
rails g rails_jwt_admin:install
  1. Run database migration:
rails db:migrate

Configuration

  1. Generate and edit your application credentials:
EDITOR=vim rails credentials:edit
  1. Add your JWT secret key:
jwt_secret: "your_secret_key_here"

Setup Admin User

Create an initial admin user:

RailsJwtAdmin::User.create(
  username: "admin", 
  email: "admin@example.com", 
  password: "your_secure_password", 
  password_confirmation: "your_secure_password"
)

API Usage

  • POST /rails_jwt_admin/auth - Authenticate and get token
  • GET /rails_jwt_admin/me - Get current user info

Authentication

Send POST request to /rails_jwt_admin/auth with:

  • username - Admin username
  • password - Admin password

Response Format

Successful authentication returns:

{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "token": "eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxfQ..."
  }
}

Get current user returns:

{
  "success": true,
  "code": 200,
  "message": null,
  "data": {
    "id": 1,
    "username": "admin",
    "email": "example@qq.com"
  }
}

Failed authentication returns:

{
  "success": false,
  "code": 401,
  "message": "Authentication failed",
  "data": null
}

Authorization

Include the token in your requests using the Authorization header:

Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxfQ...

Security Considerations

  • Use a strong, unique JWT secret key
  • Consider token expiration times for security
  • Store sensitive credentials using Rails encrypted credentials
  • Regularly update dependencies for security patches
  • Follow Rails security best practices for session management and CSRF protection

Development Resources

License

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