apontador_oauth2 0.1.3 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/README.md +49 -5
- data/lib/apontador_oauth2/client.rb +6 -7
- data/lib/apontador_oauth2/request.rb +4 -0
- data/lib/apontador_oauth2/user.rb +4 -8
- data/lib/apontador_oauth2/version.rb +1 -1
- data/spec/client_spec.rb +1 -1
- data/spec/helpers/fake_data.rb +2 -7
- data/spec/helpers/login.rb +4 -4
- data/spec/user_spec.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dff03d7cd887579995f59ddd9592d15ae1f67a3e
|
4
|
+
data.tar.gz: ac5f5312cf8353946ac4fd14c85c63de4ceb23bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67f5d956f24824f3f5e5ad768ba1a01f190eb29a4f94775facb98295ed8304b817beec70238e0cfa1ca6d7a1fdead58eb8087d9e29af21413018a451f9af3fd4
|
7
|
+
data.tar.gz: 8ccec0eececfa7c25e6d5542b9be9dbbbfdb7bf08304e542ae5f4ba6ba8d84406c2dd759cfdc848c3c6bd8dc11cc54cf0a56747163e4162d9a426a06e0d25e5f
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
[![Build Status](https://travis-ci.org/eder/apontador_oauth2.png?branch=master)](https://travis-ci.org/eder/apontador_oauth2)
|
2
|
+
[![Gem Version](https://badge.fury.io/rb/apontador_oauth2.png)](http://badge.fury.io/rb/apontador_oauth2)
|
2
3
|
# ApontadorOauth2
|
3
|
-
|
4
|
-
TODO: Write a gem description
|
5
|
-
|
4
|
+
Ruby client for the OAuth 2.0 to site Apontador, still in process of development.
|
6
5
|
## Installation
|
7
6
|
|
8
7
|
Add this line to your application's Gemfile:
|
@@ -17,9 +16,54 @@ Or install it yourself as:
|
|
17
16
|
|
18
17
|
$ gem install apontador_oauth2
|
19
18
|
|
20
|
-
## Usage
|
19
|
+
## Usage Examples
|
20
|
+
|
21
|
+
Get Token with app trust:
|
22
|
+
```ruby
|
23
|
+
|
24
|
+
credentials = {
|
25
|
+
:client_id => "12345", :client_secret => "54321",
|
26
|
+
:url => "https://api.apontador.com.br/v2/"
|
27
|
+
}
|
28
|
+
client = ApontadorOauth2::Client.new(credentials)
|
29
|
+
|
30
|
+
client.token
|
31
|
+
#=> one-number-token-valid
|
32
|
+
```
|
33
|
+
|
34
|
+
Get token with user authenticated:
|
35
|
+
``` ruby
|
36
|
+
credentials = {
|
37
|
+
:client_id => "12345", :client_secret => "54321",
|
38
|
+
:url => "https://api.apontador.com.br/v2/",
|
39
|
+
:username => "jhondoe@example.com",
|
40
|
+
:password => "123456",
|
41
|
+
:grant_type => "password"
|
42
|
+
}
|
43
|
+
client = ApontadorOauth2::Client.new(credentials)
|
44
|
+
client.token
|
45
|
+
#=> one-number-token-valid-authenticate-be-user
|
46
|
+
```
|
47
|
+
Register new user with token app of trust:
|
48
|
+
``` ruby
|
49
|
+
credentials = {
|
50
|
+
:client_id => "12345", :client_secret => "54321",
|
51
|
+
:url => "https://api.apontador.com.br/v2/"
|
52
|
+
}
|
53
|
+
client = ApontadorOauth2::Client.new(credentials)
|
54
|
+
new_user = ApontadorOauth2::User.new({:token => client.token})
|
55
|
+
|
56
|
+
user = {:name => "jhon Doe", :email => "jhondoe@example.com", :password => "jhondoe12345"}
|
57
|
+
new_user.register_user_in_apontador(user)
|
58
|
+
#=> nil
|
59
|
+
```
|
60
|
+
|
61
|
+
##Supported Ruby Versions
|
21
62
|
|
22
|
-
|
63
|
+
This library aims to support and is tested against the following Ruby implementations:
|
64
|
+
Ruby 1.9.2
|
65
|
+
Ruby 1.9.3
|
66
|
+
Ruby 2.0.0
|
23
67
|
|
24
68
|
## Contributing
|
25
69
|
|
@@ -7,18 +7,17 @@ module ApontadorOauth2
|
|
7
7
|
class Client
|
8
8
|
attr_accessor :token, :options
|
9
9
|
def initialize(options)
|
10
|
-
@options = {
|
11
|
-
|
12
|
-
|
13
|
-
:password => "",
|
10
|
+
@options = {:grant_type => "client_credentials",
|
11
|
+
:username => "",
|
12
|
+
:password => "",
|
14
13
|
}.merge!(options)
|
15
14
|
request
|
16
15
|
end
|
17
16
|
|
17
|
+
private
|
18
18
|
def request
|
19
|
-
url
|
20
|
-
|
21
|
-
response = connection.post 'oauth/token', @options
|
19
|
+
connection = Faraday.new(:url => URI.parse(@options[:url]))
|
20
|
+
response = connection.post '/v2/oauth/token', @options
|
22
21
|
@token = JSON.parse(response.body)['access_token']
|
23
22
|
end
|
24
23
|
end
|
@@ -2,25 +2,21 @@ module ApontadorOauth2
|
|
2
2
|
attr_accessor :options
|
3
3
|
class User
|
4
4
|
def initialize(options={})
|
5
|
-
@options = options
|
5
|
+
@options = options
|
6
6
|
end
|
7
7
|
|
8
8
|
def user_information
|
9
|
-
response = request({:path => "users/me"}.merge!(@options))
|
10
|
-
|
9
|
+
response = request({:path => "/v2/users/me"}.merge!(@options))
|
10
|
+
Request.json(response.body)
|
11
11
|
end
|
12
12
|
|
13
13
|
def register_user_in_apontador(options)
|
14
14
|
res = request( {:path => "users", :user => options}.merge(@options))
|
15
|
-
|
15
|
+
Request.json(res.body) if res.status != 201
|
16
16
|
end
|
17
17
|
|
18
18
|
def request(options)
|
19
19
|
Request.send(options)
|
20
20
|
end
|
21
|
-
private
|
22
|
-
def json(data)
|
23
|
-
JSON.parse(data)
|
24
|
-
end
|
25
21
|
end
|
26
22
|
end
|
data/spec/client_spec.rb
CHANGED
data/spec/helpers/fake_data.rb
CHANGED
@@ -1,16 +1,11 @@
|
|
1
1
|
module FakeData
|
2
2
|
def fake_token_without_authentication
|
3
|
-
stub_request(:post, "https://api.apontador.com.br/v2/oauth/token").with(:body => {"client_secret"=>"54321", "username"=>"", "grant_type"=>"client_credentials", "password"=>"", "client_id"=>"12345", "url"=>"https://api.apontador.com.br
|
3
|
+
stub_request(:post, "https://api.apontador.com.br/v2/oauth/token").with(:body => {"client_secret"=>"54321", "username"=>"", "grant_type"=>"client_credentials", "password"=>"", "client_id"=>"12345", "url"=>"https://api.apontador.com.br"},
|
4
4
|
:headers => {'Accept'=>'*/*', 'Content-Type'=>'application/x-www-form-urlencoded', 'User-Agent'=>'Faraday v0.8.8'}).to_return(:status => 200, :body => '{"access_token":"token-12345678910","token_type":"bearer","scope":"read trust write"}', :headers => {})
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
5
|
end
|
11
6
|
|
12
7
|
def fake_token_with_authentication
|
13
|
-
stub_request(:post, "https://api.apontador.com.br/v2/oauth/token").with(:body => {"client_secret"=>"54321", "username"=>"jhondoe@example.com", "grant_type"=>"password", "password"=>"123456", "client_id"=>"12345", "url"=>"https://api.apontador.com.br
|
8
|
+
stub_request(:post, "https://api.apontador.com.br/v2/oauth/token").with(:body => {"client_secret"=>"54321", "username"=>"jhondoe@example.com", "grant_type"=>"password", "password"=>"123456", "client_id"=>"12345", "url"=>"https://api.apontador.com.br"},
|
14
9
|
:headers => {'Accept'=>'*/*', 'Content-Type'=>'application/x-www-form-urlencoded', 'User-Agent'=>'Faraday v0.8.8'}).to_return(:status => 200, :body => '{"access_token":"token-authenticate-12345678910","token_type":"bearer","scope":"read trust write"}', :headers => {})
|
15
10
|
|
16
11
|
end
|
data/spec/helpers/login.rb
CHANGED
@@ -2,7 +2,7 @@ module Login
|
|
2
2
|
def user_logged
|
3
3
|
credentials = { :client_id => "12345",
|
4
4
|
:client_secret => "54321",
|
5
|
-
:url => "https://api.apontador.com.br
|
5
|
+
:url => "https://api.apontador.com.br",
|
6
6
|
:username => "jhondoe@example.com",
|
7
7
|
:password => "123456",
|
8
8
|
:grant_type => "password",
|
@@ -11,9 +11,9 @@ module Login
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def logged_with_credentials
|
14
|
-
credentials = {:
|
15
|
-
|
16
|
-
|
14
|
+
credentials = { client_id: "12345",
|
15
|
+
client_secret: "54321",
|
16
|
+
url: "https://api.apontador.com.br"
|
17
17
|
}
|
18
18
|
ApontadorOauth2::Client.new(credentials)
|
19
19
|
end
|
data/spec/user_spec.rb
CHANGED
@@ -7,7 +7,7 @@ describe "Interation with data of user" do
|
|
7
7
|
end
|
8
8
|
it "Grab User " do
|
9
9
|
fake_info_user
|
10
|
-
user = ApontadorOauth2::User.new({:token
|
10
|
+
user = ApontadorOauth2::User.new({token: user_logged.token, url: "https://api.apontador.com.br/v2/" })
|
11
11
|
user.user_information['user'].should_not be_nil
|
12
12
|
end
|
13
13
|
end
|
@@ -22,7 +22,7 @@ describe "Interation with data of user" do
|
|
22
22
|
:password => "jhondoe12345"
|
23
23
|
}
|
24
24
|
|
25
|
-
new_user = ApontadorOauth2::User.new({:token
|
25
|
+
new_user = ApontadorOauth2::User.new({token: logged_with_credentials.token, url: "https://api.apontador.com.br/v2/"})
|
26
26
|
new_user.register_user_in_apontador(conf).should be_nil
|
27
27
|
end
|
28
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apontador_oauth2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- edereduardo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
116
116
|
version: '0'
|
117
117
|
requirements: []
|
118
118
|
rubyforge_project:
|
119
|
-
rubygems_version: 2.
|
119
|
+
rubygems_version: 2.0.3
|
120
120
|
signing_key:
|
121
121
|
specification_version: 4
|
122
122
|
summary: A tool for authenticator with Oauth2 of Apontador
|