devise-multi_auth 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/devise/multi_auth/authentication.rb +1 -2
- data/lib/devise/multi_auth/version.rb +1 -1
- data/lib/devise_multi_auth.rb +10 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c1c2273883de4342a30a7691f0b9058c9218cac
|
4
|
+
data.tar.gz: 0f5f945e83ed6704de1cbe8ec817bda29b30be29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 907c37ca48b673a45d516dfcee309720fd6f073c6f9643b235005e70e99b91f8ec247544b0584040af789ae57b95432492a88d0cd4a1aeae8ccc35129924e0df
|
7
|
+
data.tar.gz: bffe368c9c69b318c86f313e9116f21e0ab79d0861bd02e94f51ae7601fcf721a2dfceab97e863e38ae4255d2b1c5fe3b4d6d0ea7a58402fba7660c01d856e5f
|
@@ -23,8 +23,7 @@ module Devise::MultiAuth
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def to_access_token(config = {})
|
26
|
-
|
27
|
-
client = config.fetch(:client) { Orcid.oauth_client }
|
26
|
+
client = config.fetch(:client) { Devise::MultiAuth.oauth_client_for(provider) }
|
28
27
|
tokenizer = config.fetch(:tokenizer) { ::OAuth2::AccessToken.method(:new) }
|
29
28
|
tokenizer.call(client, access_token, refresh_token: refresh_token)
|
30
29
|
end
|
data/lib/devise_multi_auth.rb
CHANGED
@@ -4,9 +4,17 @@ require "devise/multi_auth/engine"
|
|
4
4
|
module Devise::MultiAuth
|
5
5
|
module_function
|
6
6
|
|
7
|
-
def capture_successful_external_authentication(user, auth,
|
8
|
-
service =
|
7
|
+
def capture_successful_external_authentication(user, auth, config = {})
|
8
|
+
service = config.fetch(:service) { CaptureSuccessfulExternalAuthentication }
|
9
9
|
service.call(user, auth)
|
10
10
|
end
|
11
11
|
|
12
|
+
def oauth_client_for(provider_name, config = {})
|
13
|
+
config_args = Devise.omniauth_configs.fetch(provider_name.to_sym).args.dup
|
14
|
+
options = config_args.extract_options!
|
15
|
+
client_id = config_args[0]
|
16
|
+
secret = config_args[1]
|
17
|
+
OAuth2::Client.new(client_id, secret, options[:client_options] || {})
|
18
|
+
end
|
19
|
+
|
12
20
|
end
|