omniauth-zenpayroll 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YjBiMzBkYjAzMDgyZDAwN2EwNjBlNjlhZjNjZTNlMWRhMGE5NzA3NA==
5
- data.tar.gz: !binary |-
6
- ODJkNTkyYjM2NTIzYWMzOTIwOGQ3YzJiNmQ3MTU5ZTNmZjdmOTAxMw==
2
+ SHA1:
3
+ metadata.gz: 97c55cf7f69277c91d0ffdff83579b0829d0c9b6
4
+ data.tar.gz: 957cc37d144f7fc46843041aed3b17c87ee02446
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZTAyYjFlZDEwZjZjMjJiY2ZlZTczMmQ0N2VhZGM2YTNhZjZhODhhNTRmMzI3
10
- OWIzMzE0MjUzZWYyMGQ0M2FlY2RhNTgwYjRjOTlkM2EyMWRiNzZiZWQyMzdl
11
- OTQxNjk4MDcwMTllOTg1NTk2Y2JhYWY3YTdiNzVhYzY4ZjFiYmY=
12
- data.tar.gz: !binary |-
13
- Y2FlNGY1ZDZjNWI0M2EwZmI4ZDUzN2Q3ZjFhN2IxZTQ4ZjhmNDY5MzMyOGM5
14
- MzI1MmRkOTE1ZjYwNTMxNjg2YjQxMGY0N2QwNjE0OTFkNDA3NWRhYzZmZGQ1
15
- ZjhjMmE4MWFhYWJmYjc3ZjFiN2ZjOTU2NThmNjhiY2NkYTVjZDA=
6
+ metadata.gz: b343ae6ec69ef022f8f402fc5f4e3fcd3c6753c6603f83c68e32c3babef1ad787713bae7be493ef2a7397e6f4101cb7d4085592cb4a54ed5015997ca774717ff
7
+ data.tar.gz: 0266452622b7b39879c0e4c4a6a3f11feca8ef66736ba68805fc408d2293582438afa12a2377e72d6e775bfad48abcd22fccd73a3e50fcfa00cd4d76af5aaadd
data/README.md CHANGED
@@ -20,6 +20,8 @@ your application will use these to authenticate against the ZenPayroll API.
20
20
 
21
21
  ## Using This Strategy
22
22
 
23
+ ##### Installation
24
+
23
25
  Add the gem to your Gemfile:
24
26
 
25
27
  ```ruby
@@ -32,6 +34,8 @@ If you need to use the latest HEAD version, you can do so with:
32
34
  gem 'omniauth-zenpayroll', :github => 'shiftdock/omniauth-zenpayroll'
33
35
  ```
34
36
 
37
+ ##### Usage
38
+
35
39
  Next, tell OmniAuth about this provider. For a Rails app, your `config/initializers/omniauth.rb` file should look like this:
36
40
 
37
41
  ```ruby
@@ -42,15 +46,35 @@ end
42
46
 
43
47
  Replace `CLIENT_ID` and `CLIENT_SECRET` with the appropriate values you obtained from ZenPayroll earlier.
44
48
 
49
+ ##### Configuration: The Redirect URI
50
+
45
51
  If you need to override the Redirect URI (i.e. if yours deviates from the default) you can do so by setting it as the
46
52
  `callback_url` in an `authorize_params` options hash.
47
53
 
48
54
  ```ruby
49
55
  Rails.application.config.middleware.user OmniAuth:Builder do
50
- provider :zenpayroll, "CLIENT_ID", "CLIENT_SECRET", :authorize_params => {:callback_url => '/my/app/callback/url'}
56
+ provider :zenpayroll, "CLIENT_ID", "CLIENT_SECRET",
57
+ :authorize_params => {:callback_url => '/my/app/callback/url'}
51
58
  end
52
59
  ```
53
60
 
61
+ ##### Configuration: Live vs. Demo
62
+
63
+ ZenPayroll provide a demo site at `zenpayroll-demo.com` for all testing. You'll usually want every environment but
64
+ the production environment to use this API instead of the live one. The `setup` option allows you to use a `lambda` to
65
+ pick which API you want based on the Rails environment:
66
+
67
+ ```ruby
68
+ Rails.application.config.middleware.user OmniAuth:Builder do
69
+ provider :zenpayroll, "CLIENT_ID", "CLIENT_SECRET",
70
+ :authorize_params => {:callback_url => '/my/app/callback/url'},
71
+ :setup => lambda { |env| env['omniauth.strategy'].options[:client_options][:site] = Rails.env.production? ? 'https://zenpayroll.com/' : 'https://zenpayroll-demo.com/' }
72
+ end
73
+ ```
74
+
75
+ Of course you could use anything; e.g. a global configuration file or environment variables, but this is probably the
76
+ most common use case.
77
+
54
78
  #### UID Gotcha
55
79
 
56
80
  As the ZenPayroll API doesn't expose a unique ID for the user being authenticated we have to use their email address
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module ZenPayroll
3
- VERSION = "0.0.9"
3
+ VERSION = "0.1.0"
4
4
  end
5
5
  end
@@ -6,19 +6,15 @@ module OmniAuth
6
6
  class ZenPayroll < OmniAuth::Strategies::OAuth2
7
7
 
8
8
  option :name, 'zenpayroll'
9
- <<<<<<< HEAD
9
+
10
10
  option :client_options, { authorize_url: '/oauth/authorize',
11
11
  token_url: '/oauth/token',
12
12
  site: 'https://zenpayroll.com/' }
13
-
13
+
14
14
  option :token_params, {
15
15
  parse: :json,
16
16
  grant_type: 'authorization_code'
17
17
  }
18
- =======
19
- option :client_options, {:authorize_path => '/oauth/authorize',
20
- :site => 'https://zenpayroll-demo.com'}
21
- >>>>>>> df6131f... First stage authentication routing works
22
18
 
23
19
  option :auth_token_params, {
24
20
  param_name: 'access_token',
@@ -36,13 +32,13 @@ module OmniAuth
36
32
  extra do
37
33
  { :raw_info => raw_info }
38
34
  end
39
-
35
+
40
36
  # ZenPayroll are strict on redirect_uri.
41
37
  # Pass 'origin=...' as parameter to provider url to pass through.
42
38
  def callback_url
43
39
  options.authorize_params.callback_url or super
44
40
  end
45
-
41
+
46
42
  def request_phase
47
43
  redirect client.auth_code.authorize_url({:redirect_uri => callback_url}.merge(options.authorize_params))
48
44
  end
@@ -64,7 +60,7 @@ module OmniAuth
64
60
  client_id: client.id,
65
61
  client_secret: client.secret
66
62
  })
67
-
63
+
68
64
  client.get_token(token_params, deep_symbolize(options.auth_token_params))
69
65
  end
70
66
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-zenpayroll
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John M. Hope
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-25 00:00:00.000000000 Z
11
+ date: 2015-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: omniauth-oauth2
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.1.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.1.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rack-test
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simplecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webmock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ! '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ! '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: OmniAuth strategy for ZenPayroll
@@ -87,7 +87,7 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
90
+ - ".gitignore"
91
91
  - Gemfile
92
92
  - README.md
93
93
  - Rakefile
@@ -105,17 +105,17 @@ require_paths:
105
105
  - lib
106
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ! '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - ! '>='
113
+ - - ">="
114
114
  - !ruby/object:Gem::Version
115
115
  version: '0'
116
116
  requirements: []
117
117
  rubyforge_project: omniauth-zenpayroll
118
- rubygems_version: 2.1.5
118
+ rubygems_version: 2.4.5
119
119
  signing_key:
120
120
  specification_version: 4
121
121
  summary: OmniAuth strategy for ZenPayroll