oauth2-checker 0.1.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.
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: []