omniauth-infinum 0.9.9 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +17 -1
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +1 -0
- data/examples/devise_and_omniauth_infinum/.gitignore +16 -0
- data/examples/devise_and_omniauth_infinum/Gemfile +67 -0
- data/examples/devise_and_omniauth_infinum/README.rdoc +28 -0
- data/examples/devise_and_omniauth_infinum/Rakefile +6 -0
- data/examples/devise_and_omniauth_infinum/app/assets/images/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/app/assets/images/bg.png +0 -0
- data/examples/devise_and_omniauth_infinum/app/assets/images/infinum_logo.png +0 -0
- data/examples/devise_and_omniauth_infinum/app/assets/javascripts/application.js +17 -0
- data/examples/devise_and_omniauth_infinum/app/assets/javascripts/omniauth_callbacks.js.coffee +3 -0
- data/examples/devise_and_omniauth_infinum/app/assets/javascripts/omniauth_callbacksbundle.js.coffee +3 -0
- data/examples/devise_and_omniauth_infinum/app/assets/javascripts/pages.js.coffee +3 -0
- data/examples/devise_and_omniauth_infinum/app/assets/stylesheets/application.css.scss +17 -0
- data/examples/devise_and_omniauth_infinum/app/assets/stylesheets/basic.css.scss +116 -0
- data/examples/devise_and_omniauth_infinum/app/assets/stylesheets/omniauth_callbacks.css.scss +3 -0
- data/examples/devise_and_omniauth_infinum/app/assets/stylesheets/omniauth_callbacksbundle.css.scss +3 -0
- data/examples/devise_and_omniauth_infinum/app/assets/stylesheets/pages.css.scss +3 -0
- data/examples/devise_and_omniauth_infinum/app/assets/stylesheets/scaffolds.css.scss +69 -0
- data/examples/devise_and_omniauth_infinum/app/controllers/Users/omniauth_callbacks_controller.rb +14 -0
- data/examples/devise_and_omniauth_infinum/app/controllers/application_controller.rb +11 -0
- data/examples/devise_and_omniauth_infinum/app/controllers/concerns/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/app/controllers/pages_controller.rb +74 -0
- data/examples/devise_and_omniauth_infinum/app/controllers/static_controller.rb +5 -0
- data/examples/devise_and_omniauth_infinum/app/helpers/application_helper.rb +6 -0
- data/examples/devise_and_omniauth_infinum/app/helpers/omniauth_callbacks_helper.rb +2 -0
- data/examples/devise_and_omniauth_infinum/app/helpers/omniauth_callbacksbundle_helper.rb +2 -0
- data/examples/devise_and_omniauth_infinum/app/helpers/pages_helper.rb +2 -0
- data/examples/devise_and_omniauth_infinum/app/mailers/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/app/models/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/app/models/concerns/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/app/models/page.rb +2 -0
- data/examples/devise_and_omniauth_infinum/app/models/user.rb +26 -0
- data/examples/devise_and_omniauth_infinum/app/views/devise/mailer/reset_password_instructions.html.slim +6 -0
- data/examples/devise_and_omniauth_infinum/app/views/devise/passwords/edit.html.slim +18 -0
- data/examples/devise_and_omniauth_infinum/app/views/devise/passwords/new.html.slim +15 -0
- data/examples/devise_and_omniauth_infinum/app/views/devise/sessions/new.html.slim +21 -0
- data/examples/devise_and_omniauth_infinum/app/views/layouts/_navigation.html.slim +7 -0
- data/examples/devise_and_omniauth_infinum/app/views/layouts/application.html.slim +19 -0
- data/examples/devise_and_omniauth_infinum/app/views/pages/_form.html.slim +15 -0
- data/examples/devise_and_omniauth_infinum/app/views/pages/edit.html.slim +8 -0
- data/examples/devise_and_omniauth_infinum/app/views/pages/index.html.slim +23 -0
- data/examples/devise_and_omniauth_infinum/app/views/pages/index.json.jbuilder +4 -0
- data/examples/devise_and_omniauth_infinum/app/views/pages/new.html.slim +5 -0
- data/examples/devise_and_omniauth_infinum/app/views/pages/show.html.slim +12 -0
- data/examples/devise_and_omniauth_infinum/app/views/pages/show.json.jbuilder +1 -0
- data/examples/devise_and_omniauth_infinum/app/views/shared/_flash_messages.html.slim +4 -0
- data/examples/devise_and_omniauth_infinum/app/views/static/home.html.slim +3 -0
- data/examples/devise_and_omniauth_infinum/bin/bundle +3 -0
- data/examples/devise_and_omniauth_infinum/bin/rails +4 -0
- data/examples/devise_and_omniauth_infinum/bin/rake +4 -0
- data/examples/devise_and_omniauth_infinum/config/application.rb +24 -0
- data/examples/devise_and_omniauth_infinum/config/boot.rb +4 -0
- data/examples/devise_and_omniauth_infinum/config/database.yml +25 -0
- data/examples/devise_and_omniauth_infinum/config/environment.rb +5 -0
- data/examples/devise_and_omniauth_infinum/config/environments/development.rb +37 -0
- data/examples/devise_and_omniauth_infinum/config/environments/production.rb +83 -0
- data/examples/devise_and_omniauth_infinum/config/environments/test.rb +39 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/cookies_serializer.rb +3 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/devise.rb +259 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/filter_parameter_logging.rb +4 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/inflections.rb +16 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/mime_types.rb +4 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/session_store.rb +3 -0
- data/examples/devise_and_omniauth_infinum/config/initializers/wrap_parameters.rb +14 -0
- data/examples/devise_and_omniauth_infinum/config/locales/devise.en.yml +59 -0
- data/examples/devise_and_omniauth_infinum/config/locales/en.yml +23 -0
- data/examples/devise_and_omniauth_infinum/config/navigation.rb +16 -0
- data/examples/devise_and_omniauth_infinum/config/routes.rb +65 -0
- data/examples/devise_and_omniauth_infinum/config/secrets.yml +22 -0
- data/examples/devise_and_omniauth_infinum/config.ru +4 -0
- data/examples/devise_and_omniauth_infinum/db/migrate/20140511162656_devise_create_users.rb +48 -0
- data/examples/devise_and_omniauth_infinum/db/migrate/20140511165248_create_pages.rb +10 -0
- data/examples/devise_and_omniauth_infinum/db/schema.rb +45 -0
- data/examples/devise_and_omniauth_infinum/db/seeds.rb +7 -0
- data/examples/devise_and_omniauth_infinum/lib/assets/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/lib/tasks/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/lib/templates/haml/scaffold/_form.html.slim +10 -0
- data/examples/devise_and_omniauth_infinum/lib/templates/haml/scaffold/index.html.slim +29 -0
- data/examples/devise_and_omniauth_infinum/log/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/public/404.html +67 -0
- data/examples/devise_and_omniauth_infinum/public/422.html +67 -0
- data/examples/devise_and_omniauth_infinum/public/500.html +66 -0
- data/examples/devise_and_omniauth_infinum/public/favicon.ico +0 -0
- data/examples/devise_and_omniauth_infinum/public/robots.txt +5 -0
- data/examples/devise_and_omniauth_infinum/test/controllers/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/test/controllers/omniauth_callbacks_controller_test.rb +7 -0
- data/examples/devise_and_omniauth_infinum/test/controllers/omniauth_callbacksbundle_controller_test.rb +7 -0
- data/examples/devise_and_omniauth_infinum/test/controllers/pages_controller_test.rb +49 -0
- data/examples/devise_and_omniauth_infinum/test/fixtures/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/test/fixtures/pages.yml +9 -0
- data/examples/devise_and_omniauth_infinum/test/fixtures/users.yml +11 -0
- data/examples/devise_and_omniauth_infinum/test/helpers/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/test/helpers/omniauth_callbacks_helper_test.rb +4 -0
- data/examples/devise_and_omniauth_infinum/test/helpers/omniauth_callbacksbundle_helper_test.rb +4 -0
- data/examples/devise_and_omniauth_infinum/test/helpers/pages_helper_test.rb +4 -0
- data/examples/devise_and_omniauth_infinum/test/integration/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/test/mailers/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/test/models/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/test/models/page_test.rb +7 -0
- data/examples/devise_and_omniauth_infinum/test/models/user_test.rb +7 -0
- data/examples/devise_and_omniauth_infinum/test/test_helper.rb +13 -0
- data/examples/devise_and_omniauth_infinum/vendor/assets/javascripts/.keep +0 -0
- data/examples/devise_and_omniauth_infinum/vendor/assets/stylesheets/.keep +0 -0
- data/examples/omniauth_infinum_standalone/.gitignore +16 -0
- data/examples/omniauth_infinum_standalone/Gemfile +41 -0
- data/examples/omniauth_infinum_standalone/README.rdoc +28 -0
- data/examples/omniauth_infinum_standalone/Rakefile +6 -0
- data/examples/omniauth_infinum_standalone/app/assets/images/.keep +0 -0
- data/examples/omniauth_infinum_standalone/app/assets/javascripts/application.js +16 -0
- data/examples/omniauth_infinum_standalone/app/assets/javascripts/pages.js.coffee +3 -0
- data/examples/omniauth_infinum_standalone/app/assets/stylesheets/application.css +15 -0
- data/examples/omniauth_infinum_standalone/app/assets/stylesheets/pages.css.scss +3 -0
- data/examples/omniauth_infinum_standalone/app/assets/stylesheets/scaffolds.css.scss +69 -0
- data/examples/omniauth_infinum_standalone/app/controllers/application_controller.rb +28 -0
- data/examples/omniauth_infinum_standalone/app/controllers/concerns/.keep +0 -0
- data/examples/omniauth_infinum_standalone/app/controllers/omniauth_controller.rb +25 -0
- data/examples/omniauth_infinum_standalone/app/controllers/pages_controller.rb +74 -0
- data/examples/omniauth_infinum_standalone/app/helpers/application_helper.rb +2 -0
- data/examples/omniauth_infinum_standalone/app/helpers/pages_helper.rb +2 -0
- data/examples/omniauth_infinum_standalone/app/mailers/.keep +0 -0
- data/examples/omniauth_infinum_standalone/app/models/.keep +0 -0
- data/examples/omniauth_infinum_standalone/app/models/concerns/.keep +0 -0
- data/examples/omniauth_infinum_standalone/app/models/page.rb +2 -0
- data/examples/omniauth_infinum_standalone/app/models/user.rb +12 -0
- data/examples/omniauth_infinum_standalone/app/views/layouts/application.html.erb +22 -0
- data/examples/omniauth_infinum_standalone/app/views/pages/_form.html.erb +25 -0
- data/examples/omniauth_infinum_standalone/app/views/pages/edit.html.erb +6 -0
- data/examples/omniauth_infinum_standalone/app/views/pages/index.html.erb +27 -0
- data/examples/omniauth_infinum_standalone/app/views/pages/index.json.jbuilder +4 -0
- data/examples/omniauth_infinum_standalone/app/views/pages/new.html.erb +5 -0
- data/examples/omniauth_infinum_standalone/app/views/pages/show.html.erb +14 -0
- data/examples/omniauth_infinum_standalone/app/views/pages/show.json.jbuilder +1 -0
- data/examples/omniauth_infinum_standalone/bin/bundle +3 -0
- data/examples/omniauth_infinum_standalone/bin/rails +4 -0
- data/examples/omniauth_infinum_standalone/bin/rake +4 -0
- data/examples/omniauth_infinum_standalone/config/application.rb +24 -0
- data/examples/omniauth_infinum_standalone/config/boot.rb +4 -0
- data/examples/omniauth_infinum_standalone/config/database.yml +25 -0
- data/examples/omniauth_infinum_standalone/config/environment.rb +5 -0
- data/examples/omniauth_infinum_standalone/config/environments/development.rb +37 -0
- data/examples/omniauth_infinum_standalone/config/environments/production.rb +83 -0
- data/examples/omniauth_infinum_standalone/config/environments/test.rb +39 -0
- data/examples/omniauth_infinum_standalone/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/omniauth_infinum_standalone/config/initializers/cookies_serializer.rb +3 -0
- data/examples/omniauth_infinum_standalone/config/initializers/filter_parameter_logging.rb +4 -0
- data/examples/omniauth_infinum_standalone/config/initializers/inflections.rb +16 -0
- data/examples/omniauth_infinum_standalone/config/initializers/mime_types.rb +4 -0
- data/examples/omniauth_infinum_standalone/config/initializers/omniauth.rb +7 -0
- data/examples/omniauth_infinum_standalone/config/initializers/session_store.rb +3 -0
- data/examples/omniauth_infinum_standalone/config/initializers/wrap_parameters.rb +14 -0
- data/examples/omniauth_infinum_standalone/config/locales/en.yml +23 -0
- data/examples/omniauth_infinum_standalone/config/routes.rb +63 -0
- data/examples/omniauth_infinum_standalone/config/secrets.yml +22 -0
- data/examples/omniauth_infinum_standalone/config.ru +4 -0
- data/examples/omniauth_infinum_standalone/db/migrate/20140512070546_create_users.rb +13 -0
- data/examples/omniauth_infinum_standalone/db/migrate/20140512070622_create_pages.rb +10 -0
- data/examples/omniauth_infinum_standalone/db/schema.rb +33 -0
- data/examples/omniauth_infinum_standalone/db/seeds.rb +7 -0
- data/examples/omniauth_infinum_standalone/lib/assets/.keep +0 -0
- data/examples/omniauth_infinum_standalone/lib/tasks/.keep +0 -0
- data/examples/omniauth_infinum_standalone/log/.keep +0 -0
- data/examples/omniauth_infinum_standalone/public/404.html +67 -0
- data/examples/omniauth_infinum_standalone/public/422.html +67 -0
- data/examples/omniauth_infinum_standalone/public/500.html +66 -0
- data/examples/omniauth_infinum_standalone/public/favicon.ico +0 -0
- data/examples/omniauth_infinum_standalone/public/robots.txt +5 -0
- data/examples/omniauth_infinum_standalone/test/controllers/.keep +0 -0
- data/examples/omniauth_infinum_standalone/test/controllers/pages_controller_test.rb +49 -0
- data/examples/omniauth_infinum_standalone/test/fixtures/.keep +0 -0
- data/examples/omniauth_infinum_standalone/test/fixtures/pages.yml +9 -0
- data/examples/omniauth_infinum_standalone/test/fixtures/users.yml +15 -0
- data/examples/omniauth_infinum_standalone/test/helpers/.keep +0 -0
- data/examples/omniauth_infinum_standalone/test/helpers/pages_helper_test.rb +4 -0
- data/examples/omniauth_infinum_standalone/test/integration/.keep +0 -0
- data/examples/omniauth_infinum_standalone/test/mailers/.keep +0 -0
- data/examples/omniauth_infinum_standalone/test/models/.keep +0 -0
- data/examples/omniauth_infinum_standalone/test/models/page_test.rb +7 -0
- data/examples/omniauth_infinum_standalone/test/models/user_test.rb +7 -0
- data/examples/omniauth_infinum_standalone/test/test_helper.rb +13 -0
- data/examples/omniauth_infinum_standalone/vendor/assets/javascripts/.keep +0 -0
- data/examples/omniauth_infinum_standalone/vendor/assets/stylesheets/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/.gitignore +17 -0
- data/examples/omniauth_infinum_with_facebook/Gemfile +59 -0
- data/examples/omniauth_infinum_with_facebook/README.markdown +2 -0
- data/examples/omniauth_infinum_with_facebook/Rakefile +6 -0
- data/examples/omniauth_infinum_with_facebook/app/assets/images/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/app/assets/javascripts/application.js +15 -0
- data/examples/omniauth_infinum_with_facebook/app/assets/javascripts/pages.js.coffee +3 -0
- data/examples/omniauth_infinum_with_facebook/app/assets/stylesheets/application.css +15 -0
- data/examples/omniauth_infinum_with_facebook/app/assets/stylesheets/pages.css.scss +3 -0
- data/examples/omniauth_infinum_with_facebook/app/assets/stylesheets/scaffolds.css.scss +69 -0
- data/examples/omniauth_infinum_with_facebook/app/controllers/Users/omniauth_callbacks_controller.rb +30 -0
- data/examples/omniauth_infinum_with_facebook/app/controllers/application_controller.rb +5 -0
- data/examples/omniauth_infinum_with_facebook/app/controllers/concerns/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/app/controllers/omniauth_callbacks_controller.rb +24 -0
- data/examples/omniauth_infinum_with_facebook/app/controllers/omniauth_controller.rb +25 -0
- data/examples/omniauth_infinum_with_facebook/app/controllers/pages_controller.rb +74 -0
- data/examples/omniauth_infinum_with_facebook/app/helpers/application_helper.rb +2 -0
- data/examples/omniauth_infinum_with_facebook/app/helpers/pages_helper.rb +2 -0
- data/examples/omniauth_infinum_with_facebook/app/mailers/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/app/models/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/app/models/concerns/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/app/models/identity.rb +12 -0
- data/examples/omniauth_infinum_with_facebook/app/models/page.rb +2 -0
- data/examples/omniauth_infinum_with_facebook/app/models/user.rb +51 -0
- data/examples/omniauth_infinum_with_facebook/app/views/layouts/application.html.slim +17 -0
- data/examples/omniauth_infinum_with_facebook/app/views/pages/_form.html.erb +25 -0
- data/examples/omniauth_infinum_with_facebook/app/views/pages/edit.html.erb +6 -0
- data/examples/omniauth_infinum_with_facebook/app/views/pages/index.html.erb +27 -0
- data/examples/omniauth_infinum_with_facebook/app/views/pages/index.json.jbuilder +4 -0
- data/examples/omniauth_infinum_with_facebook/app/views/pages/new.html.erb +5 -0
- data/examples/omniauth_infinum_with_facebook/app/views/pages/show.html.erb +14 -0
- data/examples/omniauth_infinum_with_facebook/app/views/pages/show.json.jbuilder +1 -0
- data/examples/omniauth_infinum_with_facebook/bin/bundle +3 -0
- data/examples/omniauth_infinum_with_facebook/bin/rails +4 -0
- data/examples/omniauth_infinum_with_facebook/bin/rake +4 -0
- data/examples/omniauth_infinum_with_facebook/config/application.rb +24 -0
- data/examples/omniauth_infinum_with_facebook/config/boot.rb +4 -0
- data/examples/omniauth_infinum_with_facebook/config/database.yml +25 -0
- data/examples/omniauth_infinum_with_facebook/config/environment.rb +5 -0
- data/examples/omniauth_infinum_with_facebook/config/environments/development.rb +37 -0
- data/examples/omniauth_infinum_with_facebook/config/environments/production.rb +83 -0
- data/examples/omniauth_infinum_with_facebook/config/environments/test.rb +39 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/cookies_serializer.rb +3 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/devise.rb +260 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/filter_parameter_logging.rb +4 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/inflections.rb +16 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/mime_types.rb +4 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/session_store.rb +3 -0
- data/examples/omniauth_infinum_with_facebook/config/initializers/wrap_parameters.rb +14 -0
- data/examples/omniauth_infinum_with_facebook/config/locales/devise.en.yml +59 -0
- data/examples/omniauth_infinum_with_facebook/config/locales/en.yml +23 -0
- data/examples/omniauth_infinum_with_facebook/config/routes.rb +65 -0
- data/examples/omniauth_infinum_with_facebook/config/secrets.yml +22 -0
- data/examples/omniauth_infinum_with_facebook/config.ru +4 -0
- data/examples/omniauth_infinum_with_facebook/db/migrate/20140512214408_devise_create_users.rb +45 -0
- data/examples/omniauth_infinum_with_facebook/db/migrate/20140512214426_create_identities.rb +11 -0
- data/examples/omniauth_infinum_with_facebook/db/migrate/20140514180753_create_pages.rb +10 -0
- data/examples/omniauth_infinum_with_facebook/db/schema.rb +53 -0
- data/examples/omniauth_infinum_with_facebook/db/seeds.rb +7 -0
- data/examples/omniauth_infinum_with_facebook/lib/assets/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/lib/tasks/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/log/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/public/404.html +67 -0
- data/examples/omniauth_infinum_with_facebook/public/422.html +67 -0
- data/examples/omniauth_infinum_with_facebook/public/500.html +66 -0
- data/examples/omniauth_infinum_with_facebook/public/favicon.ico +0 -0
- data/examples/omniauth_infinum_with_facebook/public/robots.txt +5 -0
- data/examples/omniauth_infinum_with_facebook/test/controllers/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/test/controllers/pages_controller_test.rb +49 -0
- data/examples/omniauth_infinum_with_facebook/test/fixtures/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/test/fixtures/identities.yml +11 -0
- data/examples/omniauth_infinum_with_facebook/test/fixtures/pages.yml +9 -0
- data/examples/omniauth_infinum_with_facebook/test/fixtures/users.yml +11 -0
- data/examples/omniauth_infinum_with_facebook/test/helpers/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/test/helpers/pages_helper_test.rb +4 -0
- data/examples/omniauth_infinum_with_facebook/test/integration/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/test/mailers/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/test/models/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/test/models/identity_test.rb +7 -0
- data/examples/omniauth_infinum_with_facebook/test/models/page_test.rb +7 -0
- data/examples/omniauth_infinum_with_facebook/test/models/user_test.rb +7 -0
- data/examples/omniauth_infinum_with_facebook/test/test_helper.rb +13 -0
- data/examples/omniauth_infinum_with_facebook/vendor/assets/javascripts/.keep +0 -0
- data/examples/omniauth_infinum_with_facebook/vendor/assets/stylesheets/.keep +0 -0
- data/lib/generators/infinum/omniauth/auth_generator.rb +96 -0
- data/lib/generators/infinum/omniauth/config_generator.rb +132 -0
- data/lib/generators/infinum/omniauth/install_generator.rb +70 -0
- data/lib/generators/infinum/omniauth/templates/rails/app/controllers/omniauth_controller.rb +25 -0
- data/lib/generators/infinum/omniauth/templates/rails/config/initializers/omniauth.rb +7 -0
- data/lib/omniauth/infinum/configuration.rb +0 -0
- data/lib/{omniauth-infinum → omniauth/infinum}/version.rb +2 -2
- data/lib/omniauth/infinum.rb +2 -0
- data/lib/omniauth/strategies/infinum.rb +55 -65
- data/lib/omniauth-infinum.rb +1 -7
- data/omniauth-infinum.gemspec +22 -20
- metadata +307 -23
- data/Readme.md +0 -176
- data/lib/generators/omniauth_infinum/install_generator.rb +0 -35
- data/lib/generators/omniauth_infinum/templates/app/controllers/omniauth_controller.rb +0 -20
- data/lib/generators/omniauth_infinum/templates/config/initializers/omniauth-infinum.rb +0 -10
- data/lib/generators/omniauth_infinum/templates/db/migrate/add_uid_to_users.rb +0 -5
- data/lib/omniauth/strategies/oauth2.rb +0 -118
- data/lib/omniauth-infinum/controller.rb +0 -28
- data/lib/omniauth-infinum/test_helpers.rb +0 -23
data/Readme.md
DELETED
@@ -1,176 +0,0 @@
|
|
1
|
-
# Introduction
|
2
|
-
|
3
|
-
omniauth-infinum is a gem for integrating the Infinum ID Single Sign On system in a Ruby on Rails web application.
|
4
|
-
|
5
|
-
Anybody can register for an Infinum ID by visiting [https://accounts.infinum.co](https://accounts.infinum.co)
|
6
|
-
|
7
|
-
# Gem installation
|
8
|
-
|
9
|
-
The gem isn't hosted on Gemcutter, but rather on a private gem server, [http://gems.infinum.co](http://gems.infinum.co).
|
10
|
-
|
11
|
-
To use this private gem server, you need to add a new gem source
|
12
|
-
|
13
|
-
gem sources -a http://gems.infinum.co
|
14
|
-
|
15
|
-
Afer that, install the gem.
|
16
|
-
|
17
|
-
gem install omniauth-infinum
|
18
|
-
|
19
|
-
If you're including the gem in your Gemfile, you need to also manually specify the source
|
20
|
-
|
21
|
-
source 'http://gems.infinum.co'
|
22
|
-
gem "omniauth-infinum"
|
23
|
-
|
24
|
-
|
25
|
-
# Implementation
|
26
|
-
|
27
|
-
There is a possibility to implement the omniauth-infinum gem with a generator, or manually. If your model will be called other than User (such as Admin or similar), we advise you create everything manually.
|
28
|
-
Otherwise we reccommend you use the generator:
|
29
|
-
|
30
|
-
|
31
|
-
# Omniauth-infinum gem implementation with a generator:
|
32
|
-
|
33
|
-
|
34
|
-
Run the generator with:
|
35
|
-
|
36
|
-
rails g omniauth_infinum:install
|
37
|
-
|
38
|
-
Go to your config/initializers/omniauth-infinum.rb file and update the APP_ID and APP_SECRET.
|
39
|
-
|
40
|
-
Run the migration
|
41
|
-
|
42
|
-
rake db:migrate
|
43
|
-
|
44
|
-
And finish the implementation with adding the .new_from_omniauth class method to the User model:
|
45
|
-
|
46
|
-
def self.new_from_omniauth(omniauth)
|
47
|
-
user = User.find_by_uid(omniauth['uid']) || User.find_by_email(omniauth[:extra][:email]) || User.new(:uid => omniauth['uid'])
|
48
|
-
# refresh info
|
49
|
-
user.uid = omniauth['uid']
|
50
|
-
user.first_name = omniauth[:extra][:first_name]
|
51
|
-
user.last_name = omniauth[:extra][:last_name]
|
52
|
-
user.email = omniauth[:extra][:email]
|
53
|
-
user.avatar_url = omniauth[:extra][:avatar_url]
|
54
|
-
user.save
|
55
|
-
user
|
56
|
-
end
|
57
|
-
|
58
|
-
# Omniauth-infinum gem implementation manually:
|
59
|
-
|
60
|
-
|
61
|
-
## Initializing
|
62
|
-
|
63
|
-
To initialize the omniauth provider, you need to add an initializer with a given secret and access key. Add this to <tt>config/initializers/omniauth.rb</tt>:
|
64
|
-
|
65
|
-
OmniAuth::Strategies::Infinum.setup do |config|
|
66
|
-
config.url = "http://accounts.infinum.co#{Rails.env.development? ? '.dev' : ''}"
|
67
|
-
end
|
68
|
-
|
69
|
-
APP_ID = 'some_key'
|
70
|
-
APP_SECRET = 'some_secret'
|
71
|
-
|
72
|
-
Rails.application.config.middleware.use OmniAuth::Builder do
|
73
|
-
provider :infinum, APP_ID, APP_SECRET
|
74
|
-
end
|
75
|
-
|
76
|
-
## Routes
|
77
|
-
|
78
|
-
For the success/failure callbacks and logout functionality, you need to add some routes to the application:
|
79
|
-
|
80
|
-
get '/auth/:provider/callback', :to => 'omniauth#success'
|
81
|
-
get '/auth/failure', :to => 'omniauth#failure'
|
82
|
-
get '/logout', :to => 'omniauth#logout'
|
83
|
-
|
84
|
-
You'll also need to add a controller to handle the callbacks
|
85
|
-
|
86
|
-
class OmniauthController < ApplicationController
|
87
|
-
before_filter :authenticate_user!, :only => [ :logout ]
|
88
|
-
|
89
|
-
def success
|
90
|
-
session[:user_id] = env['omniauth.auth']
|
91
|
-
user = User.new_from_omniauth(session[:user_id])
|
92
|
-
redirect_to request.env['omniauth.origin'] || root_path, notice: "Successfully logged in"
|
93
|
-
end
|
94
|
-
|
95
|
-
def failure
|
96
|
-
flash[:alert] = params[:message]
|
97
|
-
#remember to add a template to render out or redirect to somewhere
|
98
|
-
end
|
99
|
-
|
100
|
-
# logout - Clear our rack session BUT essentially redirect to the provider to clean up the Devise session from there too !
|
101
|
-
def logout
|
102
|
-
session[:user_id] = nil
|
103
|
-
redirect_to "#{OmniAuth::Strategies::Infinum.url}/users/sign_out?redirect_to=#{root_url}", notice: 'You have successfully signed out!'
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
107
|
-
## Model implementation
|
108
|
-
|
109
|
-
In the <tt>User</tt> model, you'll need to implement the <tt>new_from_omniauth</tt> method like so:
|
110
|
-
|
111
|
-
class User < ActiveRecord::Base
|
112
|
-
def self.new_from_omniauth(omniauth)
|
113
|
-
user = User.find_by_uid(omniauth['uid']) || User.find_by_email(omniauth[:extra][:email]) || User.new(:uid => omniauth['uid'])
|
114
|
-
# refresh info
|
115
|
-
user.uid = omniauth['uid']
|
116
|
-
user.first_name = omniauth[:extra][:first_name]
|
117
|
-
user.last_name = omniauth[:extra][:last_name]
|
118
|
-
user.email = omniauth[:extra][:email]
|
119
|
-
user.avatar_url = omniauth[:extra][:avatar_url]
|
120
|
-
user.save
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
## Migrations
|
125
|
-
|
126
|
-
Your <tt>User</tt> model will also need to have a <tt>string</tt> field called <tt>uid</tt> which hold the user ide from the <tt>accounts.infinum.co</tt> database
|
127
|
-
|
128
|
-
rails g migration add_uid_to_users uid:string
|
129
|
-
rake db:migrate
|
130
|
-
|
131
|
-
## Important notice
|
132
|
-
|
133
|
-
If the provider type is **private** the Infinum ID administrator will need to manually assign each user to each particular service when they register.
|
134
|
-
|
135
|
-
If the provider type is **public**, this is not necessary.
|
136
|
-
|
137
|
-
# That's it!
|
138
|
-
|
139
|
-
Give it a spin!
|
140
|
-
|
141
|
-
# Updating to 0.9.5 or higher
|
142
|
-
|
143
|
-
If you wish to change the development address of accounts.infinum.co, add this line to your <tt>config/initializers/omniauth.rb</tt> file:
|
144
|
-
|
145
|
-
OmniAuth::Strategies::Infinum.setup do |config|
|
146
|
-
config.url = Rails.env.development? ? "http://accounts.infinum.co.dev" :"http://accounts.infinum.co"
|
147
|
-
end
|
148
|
-
|
149
|
-
|
150
|
-
# TestHelpers
|
151
|
-
|
152
|
-
Omniauth-infinum provides two test helpers, <tt>sign_in(user)</tt> and <tt>sign_out</tt>
|
153
|
-
|
154
|
-
Require the test_helper file:
|
155
|
-
|
156
|
-
require 'omniauth-infinum/test_helpers'
|
157
|
-
|
158
|
-
Add the following to your `test/test_helper.rb` file:
|
159
|
-
|
160
|
-
```ruby
|
161
|
-
class ActionController::TestCase
|
162
|
-
include OmniAuth::Infinum::TestHelpers
|
163
|
-
end
|
164
|
-
```
|
165
|
-
|
166
|
-
If you're using RSpec, you can put the following inside a file named `spec/spec_helper.rb`:
|
167
|
-
|
168
|
-
```ruby
|
169
|
-
RSpec.configure do |config|
|
170
|
-
config.include OmniAuth::Infinum::TestHelpers
|
171
|
-
end
|
172
|
-
```
|
173
|
-
|
174
|
-
# Copyright
|
175
|
-
|
176
|
-
Copyright © 2013 Tomislav Car, Infinum
|
@@ -1,35 +0,0 @@
|
|
1
|
-
module OmniauthInfinum
|
2
|
-
class InstallGenerator < Rails::Generators::Base
|
3
|
-
source_root File.expand_path("../templates", __FILE__)
|
4
|
-
|
5
|
-
def create_a_config_file
|
6
|
-
copy_file "config/initializers/omniauth-infinum.rb", "config/initializers/omniauth-infinum.rb"
|
7
|
-
end
|
8
|
-
|
9
|
-
def create_the_omniauth_controller
|
10
|
-
copy_file "app/controllers/omniauth_controller.rb", "app/controllers/omniauth_controller.rb"
|
11
|
-
end
|
12
|
-
|
13
|
-
def add_routes
|
14
|
-
routes = " get '/auth/:provider/callback', :to => 'omniauth#success'\n" +
|
15
|
-
" get '/auth/failure' , :to => 'omniauth#failure'\n" +
|
16
|
-
" get '/logout', :to => 'omniauth#logout'\n"
|
17
|
-
|
18
|
-
file_content = File.read('config/routes.rb')
|
19
|
-
file_content.sub!("routes.draw do\n", "routes.draw do\n\n#{routes}")
|
20
|
-
File.open("config/routes.rb", 'w') { |file| file.write(file_content)}
|
21
|
-
say_status "insert", "routes.rb file -> 'Success, failure and logout routes added.'", :green
|
22
|
-
end
|
23
|
-
|
24
|
-
def rails_generate_migration
|
25
|
-
copy_file "db/migrate/add_uid_to_users.rb", "db/migrate/#{migrationNumber}_add_uid_to_users.rb"
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def migrationNumber
|
31
|
-
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
class OmniauthController < ApplicationController
|
2
|
-
before_filter :authenticate_user!, :only => [ :logout ]
|
3
|
-
|
4
|
-
def success
|
5
|
-
session[:user_id] = env['omniauth.auth']
|
6
|
-
user = User.new_from_omniauth(session[:user_id])
|
7
|
-
redirect_to request.env['omniauth.origin'] || root_path, notice: "Successfully logged in"
|
8
|
-
end
|
9
|
-
|
10
|
-
def failure
|
11
|
-
flash[:alert] = params[:message]
|
12
|
-
#remember to add a template to render out or redirect to somewhere
|
13
|
-
end
|
14
|
-
|
15
|
-
# logout - Clear our rack session BUT essentially redirect to the provider to clean up the Devise session from there too !
|
16
|
-
def logout
|
17
|
-
session[:user_id] = nil
|
18
|
-
redirect_to "#{OmniAuth::Strategies::Infinum.url}/users/sign_out?redirect_to=#{root_url}", notice: 'You have successfully signed out!'
|
19
|
-
end
|
20
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
OmniAuth::Strategies::Infinum.setup do |config|
|
2
|
-
config.url = "http://accounts.infinum.co#{Rails.env.development? ? '.dev' : ''}"
|
3
|
-
end
|
4
|
-
|
5
|
-
APP_ID = 'your_app_id'
|
6
|
-
APP_SECRET = 'your_app_secret'
|
7
|
-
|
8
|
-
Rails.application.config.middleware.use OmniAuth::Builder do
|
9
|
-
provider :infinum, APP_ID, APP_SECRET
|
10
|
-
end
|
@@ -1,118 +0,0 @@
|
|
1
|
-
require 'cgi'
|
2
|
-
require 'uri'
|
3
|
-
require 'oauth2'
|
4
|
-
require 'omniauth'
|
5
|
-
require 'timeout'
|
6
|
-
require 'securerandom'
|
7
|
-
require 'omniauth-oauth2'
|
8
|
-
|
9
|
-
|
10
|
-
module OmniAuth
|
11
|
-
module Strategies
|
12
|
-
class OAuth2
|
13
|
-
include OmniAuth::Strategy
|
14
|
-
|
15
|
-
args [:client_id, :client_secret]
|
16
|
-
|
17
|
-
option :client_id, nil
|
18
|
-
option :client_secret, nil
|
19
|
-
option :client_options, {}
|
20
|
-
option :authorize_params, {}
|
21
|
-
option :authorize_options, [:scope]
|
22
|
-
option :token_params, {}
|
23
|
-
option :token_options, []
|
24
|
-
option :provider_ignores_state, false
|
25
|
-
|
26
|
-
attr_accessor :access_token
|
27
|
-
|
28
|
-
def client
|
29
|
-
::OAuth2::Client.new(options.client_id, options.client_secret, deep_symbolize(options.client_options))
|
30
|
-
end
|
31
|
-
|
32
|
-
def callback_url
|
33
|
-
full_host + script_name + callback_path
|
34
|
-
end
|
35
|
-
|
36
|
-
credentials do
|
37
|
-
hash = {'token' => access_token.token}
|
38
|
-
hash.merge!('refresh_token' => access_token.refresh_token) if access_token.expires? && access_token.refresh_token
|
39
|
-
hash.merge!('expires_at' => access_token.expires_at) if access_token.expires?
|
40
|
-
hash.merge!('expires' => access_token.expires?)
|
41
|
-
hash
|
42
|
-
end
|
43
|
-
|
44
|
-
def request_phase
|
45
|
-
redirect client.auth_code.authorize_url({:redirect_uri => callback_url}.merge(authorize_params))
|
46
|
-
end
|
47
|
-
|
48
|
-
def authorize_params
|
49
|
-
options.authorize_params[:state] = SecureRandom.hex(24)
|
50
|
-
params = options.authorize_params.merge(options.authorize_options.inject({}){|h,k| h[k.to_sym] = options[k] if options[k]; h})
|
51
|
-
if OmniAuth.config.test_mode
|
52
|
-
@env ||= {}
|
53
|
-
@env['rack.session'] ||= {}
|
54
|
-
end
|
55
|
-
session['omniauth.state'] = params[:state]
|
56
|
-
params
|
57
|
-
end
|
58
|
-
|
59
|
-
def token_params
|
60
|
-
options.token_params.merge(options.token_options.inject({}){|h,k| h[k.to_sym] = options[k] if options[k]; h})
|
61
|
-
end
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
def callback_phase
|
66
|
-
if request.params['error'] || request.params['error_reason']
|
67
|
-
raise CallbackError.new(request.params['error'], request.params['error_description'] || request.params['error_reason'], request.params['error_uri'])
|
68
|
-
end
|
69
|
-
if !options.provider_ignores_state && (request.params['state'].to_s.empty? || request.params['state'] != session.delete('omniauth.state'))
|
70
|
-
raise CallbackError.new(nil, :csrf_detected)
|
71
|
-
end
|
72
|
-
|
73
|
-
self.access_token = build_access_token
|
74
|
-
self.access_token = access_token.refresh! if access_token.expired?
|
75
|
-
|
76
|
-
super
|
77
|
-
rescue ::OAuth2::Error => e
|
78
|
-
fail!(e.code, e)
|
79
|
-
rescue CallbackError => e
|
80
|
-
fail!(e.error_reason,e)
|
81
|
-
rescue ::MultiJson::DecodeError => e
|
82
|
-
fail!(:invalid_response, e)
|
83
|
-
rescue ::Timeout::Error, ::Errno::ETIMEDOUT => e
|
84
|
-
fail!(:timeout, e)
|
85
|
-
rescue ::SocketError => e
|
86
|
-
fail!(:failed_to_connect, e)
|
87
|
-
end
|
88
|
-
|
89
|
-
protected
|
90
|
-
|
91
|
-
def deep_symbolize(hash)
|
92
|
-
hash.inject({}) do |h, (k,v)|
|
93
|
-
h[k.to_sym] = v.is_a?(Hash) ? deep_symbolize(v) : v
|
94
|
-
h
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
|
-
def build_access_token
|
99
|
-
verifier = request.params['code']
|
100
|
-
client.auth_code.get_token(verifier, {:redirect_uri => callback_url}.merge(token_params.to_hash(:symbolize_keys => true)))
|
101
|
-
end
|
102
|
-
|
103
|
-
# An error that is indicated in the OAuth 2.0 callback.
|
104
|
-
# This could be a `redirect_uri_mismatch` or other
|
105
|
-
class CallbackError < StandardError
|
106
|
-
attr_accessor :error, :error_reason, :error_uri
|
107
|
-
|
108
|
-
def initialize(error, error_reason=nil, error_uri=nil)
|
109
|
-
self.error = error
|
110
|
-
self.error_reason = error_reason
|
111
|
-
self.error_uri = error_uri
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|
118
|
-
OmniAuth.config.add_camelization 'oauth2', 'OAuth2'
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module OmniAuth::Infinum::Controller
|
2
|
-
module InstanceMethods
|
3
|
-
def authenticate_user!
|
4
|
-
if current_user.blank?
|
5
|
-
respond_to do |format|
|
6
|
-
format.html {
|
7
|
-
redirect_to "/auth/infinum?origin=#{request.url}"
|
8
|
-
}
|
9
|
-
format.json {
|
10
|
-
render :json => { 'error' => 'Access Denied' }.to_json
|
11
|
-
}
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def current_user
|
17
|
-
return nil unless session[:user_id]
|
18
|
-
|
19
|
-
@current_user ||= User.new_from_omniauth(session[:user_id])
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.included(receiver)
|
24
|
-
receiver.send :include, InstanceMethods
|
25
|
-
|
26
|
-
receiver.helper_method :current_user
|
27
|
-
end
|
28
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
module OmniAuth::Infinum
|
2
|
-
module TestHelpers
|
3
|
-
|
4
|
-
def sign_in(user)
|
5
|
-
session[:user_id] = OmniAuth::AuthHash.new({
|
6
|
-
:provider => 'infinum',
|
7
|
-
:uid => (user.try(:uid) || '75'),
|
8
|
-
:extra => {
|
9
|
-
:first_name => user.try(:first_name),
|
10
|
-
:last_name => user.try(:last_name),
|
11
|
-
:email => user.try(:email),
|
12
|
-
:avatar_url => user.try(:avatar_url),
|
13
|
-
:time_zone => user.try(:time_zone)
|
14
|
-
}
|
15
|
-
})
|
16
|
-
end
|
17
|
-
|
18
|
-
def sign_out
|
19
|
-
session[:user_id] = nil
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|