Popularity
0.7
Growing
Activity
0.0
Stable
13
1
1

Monthly Downloads: 81
Programming language: Ruby
License: MIT License
Latest version: v0.2.3

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.

Do you think we are missing an alternative of genkan or a related project?

Add another 'Authentication and OAuth' Gem

README

Build Status Gem Version

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:

  1. 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
  1. Ensure you have defined root_url to something in your config/routes.rb. For example:
  root to: "home#index"
  1. Ensure you have flash messages in app/views/layouts/application.html.erb. For example:
  <p class="notice"><%= notice %></p>
  <p class="alert"><%= alert %></p>
  1. 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.