genkan alternatives and similar gems
Based on the "Authentication and OAuth" category.
Alternatively, view genkan alternatives based on common mentions on social networks and blogs.
-
OmniAuth
OmniAuth is a flexible authentication system utilizing Rack middleware. -
Doorkeeper
Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape. -
Devise Token Auth
Token based authentication for Rails JSON APIs. Designed to work with jToker and ng-token-auth. -
JWT
A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard. -
passwordless
๐ Authentication for your Rails app without the icky-ness of passwords -
Authentication Zero
An authentication system generator for Rails applications. -
Monban
Oath is rails authentication made simple. Previously known as Monban -
Shield
Authentication protocol for use in your routing and model context -
warden-github-rails
Use GitHub as authorization and more. Use organizations and teams as means of authorization by simply wrapping your rails routes in a block. Also useful to get a user's details through OAuth. -
๐ Rails MVP Authentication
An authentication generator for Rails 7. Generate all the files needed to create a feature rich authentication system that you control. No configuration needed. -
OmniAuth Instagram Graph ย
OmniAuth strategy for Instagram Graph API.
PopRuby: Clothing and Accessories for Ruby Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of genkan or a related project?
Popular Comparisons
README
Genkan is authentication engine for Rails
Installation
gem 'genkan'
# Add any omniauth provider
gem 'omniauth-google-oauth2'
gem 'omniauth-facebook'
And then execute:
$ bundle
Getting started
$ bin/rails g genkan:install --model User
create config/initializers/genkan.rb
create db/migrate/20170705074103_create_users.rb
create app/models/user.rb
insert app/controllers/application_controller.rb
route mount Genkan::Engine, at: '/'
create app/views/genkan/sessions/new.html.erb
$ bin/rails db:migrate
Some setup you must do manually if you haven't yet:
- Ensure you have edited config/initializers/genkan.rb. For example:
Genkan.configure do |config|
config.user_class_name = 'User'
config.auto_acceptance = true
config.cookie_expiration = 1.week
end
Genkan::Engine.configure do |config|
config.middleware.use OmniAuth::Builder do
# Add omniauth-google-oauth2 to Gemfile:
# gem 'omniauth-google-oauth2'
provider(
:google_oauth2,
ENV['GOOGLE_OAUTH_CLIENT_ID'],
ENV['GOOGLE_OAUTH_CLIENT_SECRET'],
{
name: 'google',
scope: 'email',
hd: 'host-domain.com',
verify_iss: false,
}
)
end
end
- Ensure you have defined root_url to something in your config/routes.rb. For example:
root to: "home#index"
- Ensure you have flash messages in app/views/layouts/application.html.erb. For example:
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
- Ensure you have set logout link in app/views/layouts/application.html.erb. For example:
<% if logged_in? %>
<p><%= link_to "logout", genkan.logout_path %></p>
<% end %>
Debugging
You can check on dummy server:
$ bundle
$ bin/rails db:setup
$ GOOGLE_OAUTH_CLIENT_ID=YOUR_ID GOOGLE_OAUTH_CLIENT_SECRET=YOUR_SECRET bin/rails s
How to create google client id and secret:
License
The gem is available as open source under the terms of the MIT License.
*Note that all licence references and agreements mentioned in the genkan README section above
are relevant to that project's source code only.