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.
- checksums.yaml +7 -0
- data/lib/oauth2/checker.rb +32 -0
- 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: []
|