oauth2-checker 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/oauth2/checker.rb +32 -0
  3. metadata +58 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f79f3fc4b16316be4ff25aa1a0e80bd1f04d7d2f
4
+ data.tar.gz: cc47c8cb5bf21cc3adbf9eb7cf02b12b13364934
5
+ SHA512:
6
+ metadata.gz: 759c721ed47a49af66738f606b2789c9f2f30e69db648f1ca678b2e9d58330b335803b5bad172e8fd964ca0a8bcbbf1848c53e64fd70d98b0384430ef32e8988
7
+ data.tar.gz: ea2249f7f776a085033427a9ff797e761ff74a91f6b75eb74b76edeea81121a27843aa2046102c60e4399390805835cae47e81f4aea88c92b5705c08e6950359
@@ -0,0 +1,32 @@
1
+ require 'oauth2'
2
+
3
+ class OAuth2::Checker
4
+ def initialize(client_id, client_secret, options = {}, &block)
5
+ @client = OAuth2::Client.new(client_id, client_secret, options, &block)
6
+ end
7
+
8
+ def check_access_token(token)
9
+ # raise exception if no token exists
10
+ # at = AccessToken.where(token: token).take
11
+
12
+ # try to check if token is still valid with oauth provider
13
+ begin
14
+ # try to do a request to the oauth provider
15
+ req = @client.request(:get, "oauth/token/info", {:params => {:access_token => token}})
16
+ # if i got here, the request was success => token is valid
17
+ return token
18
+ rescue
19
+ # unexisting or expired token, access denied
20
+ return false
21
+ end
22
+ end
23
+
24
+ def get_resource_owner(token)
25
+ begin
26
+ req = @client.request(:get, "oauth/token/info", {:params => {:access_token => token}})
27
+ return req.parsed["resource_owner_id"]
28
+ rescue
29
+ return "undefined"
30
+ end
31
+ end
32
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oauth2-checker
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Sandro Mehic
8
+ - Alessio Caiazza
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2016-08-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: oauth2
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.1'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.1'
28
+ description: Just a simple OAuth2 token info checker
29
+ email: devs@facts4.work
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/oauth2/checker.rb
35
+ homepage: http://facts4workers.eu/
36
+ licenses: []
37
+ metadata: {}
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubyforge_project:
54
+ rubygems_version: 2.4.5.1
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: OAuth2Checker
58
+ test_files: []