Configure Devise with OmniAuth for GitHub
This commit is contained in:
parent
68ad8fc2c1
commit
00d98742ca
6
Gemfile
6
Gemfile
|
@ -89,6 +89,12 @@ gem 'pundit', '~> 2.0'
|
|||
# for performing complex user interactions.
|
||||
gem 'interactor', '~> 3.1'
|
||||
|
||||
# A generalized Rack framework for multiple-provider authentication.
|
||||
gem 'omniauth', '~> 1.8'
|
||||
|
||||
# Official OmniAuth strategy for GitHub.
|
||||
gem 'omniauth-github', '~> 1.3'
|
||||
|
||||
group :development, :test do
|
||||
# factory_bot provides a framework and DSL for defining and using factories.
|
||||
gem 'factory_bot_rails', '~> 4.10'
|
||||
|
|
20
Gemfile.lock
20
Gemfile.lock
|
@ -150,6 +150,7 @@ GEM
|
|||
gherkin (5.1.0)
|
||||
globalid (0.4.1)
|
||||
activesupport (>= 4.2.0)
|
||||
hashie (3.5.7)
|
||||
http-cookie (1.0.3)
|
||||
domain_name (~> 0.5)
|
||||
i18n (1.1.1)
|
||||
|
@ -161,6 +162,7 @@ GEM
|
|||
railties (>= 4.2.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
json (2.1.0)
|
||||
jwt (2.1.0)
|
||||
launchy (2.4.3)
|
||||
addressable (~> 2.3)
|
||||
letter_opener (1.6.0)
|
||||
|
@ -190,6 +192,7 @@ GEM
|
|||
msgpack (1.2.4)
|
||||
multi_json (1.13.1)
|
||||
multi_test (0.1.2)
|
||||
multi_xml (0.6.0)
|
||||
multipart-post (2.0.0)
|
||||
net-scp (1.2.1)
|
||||
net-ssh (>= 2.6.5)
|
||||
|
@ -198,6 +201,21 @@ GEM
|
|||
nio4r (2.3.1)
|
||||
nokogiri (1.8.5)
|
||||
mini_portile2 (~> 2.3.0)
|
||||
oauth2 (1.4.1)
|
||||
faraday (>= 0.8, < 0.16.0)
|
||||
jwt (>= 1.0, < 3.0)
|
||||
multi_json (~> 1.3)
|
||||
multi_xml (~> 0.5)
|
||||
rack (>= 1.2, < 3)
|
||||
omniauth (1.8.1)
|
||||
hashie (>= 3.4.6, < 3.6.0)
|
||||
rack (>= 1.6.2, < 3)
|
||||
omniauth-github (1.3.0)
|
||||
omniauth (~> 1.5)
|
||||
omniauth-oauth2 (>= 1.4.0, < 2.0)
|
||||
omniauth-oauth2 (1.5.0)
|
||||
oauth2 (~> 1.1)
|
||||
omniauth (~> 1.2)
|
||||
orm_adapter (0.5.0)
|
||||
parallel (1.12.1)
|
||||
parser (2.5.3.0)
|
||||
|
@ -389,6 +407,8 @@ DEPENDENCIES
|
|||
letter_opener (~> 1.6)
|
||||
listen (>= 3.0.5, < 3.2)
|
||||
mini_racer
|
||||
omniauth (~> 1.8)
|
||||
omniauth-github (~> 1.3)
|
||||
pg (>= 0.18, < 2.0)
|
||||
pry-rails (~> 0.3)
|
||||
puma (~> 3.11)
|
||||
|
|
|
@ -5,13 +5,14 @@ class User < ApplicationRecord
|
|||
:confirmable,
|
||||
:database_authenticatable,
|
||||
:lockable,
|
||||
# :omniauthable,
|
||||
:omniauthable,
|
||||
:recoverable,
|
||||
:registerable,
|
||||
:rememberable,
|
||||
:timeoutable,
|
||||
:trackable,
|
||||
:validatable,
|
||||
omniauth_providers: %i[github],
|
||||
)
|
||||
|
||||
belongs_to :account
|
||||
|
|
|
@ -1 +1 @@
|
|||
Zz5yhPFWJUYxSjnvGVnK96y7BPjoB5O3uOmuky3X5NChnp+L6Akf1f10EjcGDW2btupSUDLM2PS1YuLdxMHOF/8HvRFAoRfVUNNOgdA1IxeOiTMU/v209dBGp/o6ZTF5XbIE8CfzudBxNMhLc8FbvBbJRcuXLXy5zSJvx2TEu+EsJr4b5BHHjPd++o/lbOTdAkxiv7A+0C+jpbkl/PslkZ84XYSK1QREQVTWzY/fpNeprHsZG7nwmDMK28hYi7zCBb9LlO2OVkXIhHmaDTGV/ASfVPS6y9/8h3EURcM3X/0iezE8MSg7YjO73qNzSbpOfNrOrrhmNc3iX4fQ7EZgBXuIVBLOBCBgQS94GfHG4Ml9vZtkMpkVofu1+L2dMlTXV7f8HLYDgqFA+yQEIoaLd7LnjmBAV1rxvkPJUNPNDlT/SL1JAk/vJhIdLXu/+FVVEkFw65E05QT+BxriWJyMwhin8KLihY29zG/Q53iBDR+zz5SgIea7CraSM39SVG2dejAU9ZfTJ5ddglJ90VQJFEd0e40gF6a5Wkvj4ikuX6ScO4pmP33gCy1xwLw0/aYvWtfyxBO0Xrtfpa7a/39Y+RUJUyHyM9CELV7eF64xebpxjdHfI4h+GcRqAqoYQlp4iM4gcRLO17B13pCDXuFEm/pOjSa1v1cs43RzGsWDF9Aw8eLYQE1PyONd04WCT+Utg/P6q4Qk3RWA5qpXWY/05/eZvo9d19+D3tKZzy0ItSIS4G99A46LkEaXV6LIJwdWh27SP1k5tx0jx+z0G/dYBWeF26BFSXjEmiPEX2ekoiIBQcDQPKp2U2oXQ1jACE/mrQwoYT5BnmrZA1w8USrCAvciDI20k29QQ1CI00xn5vAPN17w3YVzZEi4h39ZTQB4sVeY/oj1fbz5KNIEvRPIUq+zJmzqVq1HFy/uqmCYajDnM8HSw8FMVvNuCLkerEsxyvPTRya+BFFDk8Nxxz2a6rU4vQ==--v1aV0kZzjF/Kzvj2--xwpZ+D0K6fM0SquHxUblbw==
|
||||
KlH7f4yCAXGaEEh4Afk8p9j0Yb9QggirR2n3HKuLwXZRjQH/VQNwn81s6c5qH/HNhJB/6yjgW241ZrmJsHJ4N8lo06e60ImIdyBmb3ZWJ4XHEAL7/AkvN3nsZOGutIq4UFcFUX/YlVXsbkZ+jGyUtDM5haTwriHNG3rtiN8iO76wPcuBnIIn7aLq52P8t4URFlklVAXbqbqGD98Vfi8KhfeJefZoPcvxr3EuFaZ4HhHcQSA2v7ljZVNI9YwyU0C67oeT5cszLKa6I7m2LyPkjBfTysHLVXKKdCcuXkXXOqZap68TeEF0tWpLSQuN11ArvQ12cTSKWQyECBCtfJTm0OTbNhMYuwQFJRbVCprlLOdH4PIR9FlM7C1AOfqN1t1JgI69dRVtpaQ6YpJzz3P67y/ZdvIG+0rSuV52ftJ7FvSTHWgE++gUtTngHbyVqSfcYptgWLLxcFieHHDgVbVfgMZaQT7vrCmBATZhrEUI4YboQtiUpwVP6+0FfqzUsOcKKV26A6vaMfFE9i/JXmRmYCUTh23kD4CVGqLvCOWNWWYlHNzF2xFZxfpNPw/VYPQ8ivQmmdTiDhcTTzGhZxcYh3XWWG6S3lQAp4w05hER1Ego+MS/mQoLSQjol6BDaw81Xk9c/TWv8xPdY9iEoTWIwfFXtGG3D9kDALLX0FL5FDBqgzkyYh/DXdgHxQ25dIEQpQyrweEdW16NUIufg+VIl/0VbS/gy1e9IyV6D3LX0fd4mabZUeg9GjpK6P4M+4I4CsuC3ePIm24Q1uQ8hoJX4xdGKnr+2lwJvhA2plsfrHMvL3Sb76H9gsCI8S2Byhw+366MZef6g5AVRLt/KmIWoO2EUex1G4MHMkdm0gamwMjKuyFwN2CNgFTSi0bkW8Wyeq7ucWRuUslqH3GbAPgac0Hm+Hz7i4IZAlMi4bVbuLipJYCvs0C0xnxRpn3dhFV2p4M8cqCXl/08LGu7D5qMbyg2WJQsZrY1OPBkCgnzliARi4OsTXZ8qR5QnifRzeOBAmFSb98ADGYy9A/MHxVfDe5rsiR47lOFLaIB7/ZA/JXMPj503FNL9pSB0iEMSzaNbPBn3otR0+WmGzLQHlh6UEcryDaTYBo=--Xc6ZkG4UOWIfxC8F--T8lW8mV3EQqct2DZugcELw==
|
|
@ -260,7 +260,10 @@ Devise.setup do |config|
|
|||
# ==> OmniAuth
|
||||
# Add a new OmniAuth provider. Check the wiki for more information on setting
|
||||
# up on your models and hooks.
|
||||
# config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'
|
||||
config.omniauth :github,
|
||||
Rails.application.credentials.github[:client_id],
|
||||
Rails.application.credentials.github[:client_secret],
|
||||
scope: 'user,public_repo'
|
||||
|
||||
# ==> Warden configuration
|
||||
# If you want to use other strategies, that are not supported by Devise, or
|
||||
|
|
Reference in New Issue