thincloud-authentication 0.2.1 → 0.3.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.
- data/README.md +35 -7
- data/lib/thincloud/authentication/engine.rb +4 -2
- data/lib/thincloud/authentication/version.rb +1 -1
- metadata +14 -30
data/README.md
CHANGED
@@ -70,6 +70,7 @@ Set the `layout` option to customize the layout used by all thincloud-authentica
|
|
70
70
|
Thincloud::Authentication.configure do |config|
|
71
71
|
config.layout = "other"
|
72
72
|
end
|
73
|
+
```
|
73
74
|
|
74
75
|
### Mailers
|
75
76
|
|
@@ -84,19 +85,37 @@ end
|
|
84
85
|
|
85
86
|
### Additional provider strategies
|
86
87
|
|
87
|
-
|
88
|
+
* Require the `omniauth-#{provider}` gem before the `thincloud-authentication` gem in the `Gemfile`:
|
89
|
+
|
90
|
+
```ruby
|
91
|
+
gem "omniauth-linkedin"
|
92
|
+
gem "omniauth-stripe-connect"
|
93
|
+
gem "thincloud-authentication"
|
94
|
+
```
|
95
|
+
|
96
|
+
* Add a key to the `providers` hash with the name of the strategy, followed by additional options for `require`, `scopes` and `fields` as needed. Additionally, you will need to provide environment variables (prefixed with the provider name), with the `consumer_key` and `consumer_secret` values from your OAuth provider.
|
88
97
|
|
89
|
-
To enable the [LinkedIn](https://github.com/skorks/omniauth-linkedin)
|
98
|
+
To enable the [LinkedIn](https://github.com/skorks/omniauth-linkedin) and [Stripe Connect](https://github.com/isaacsanders/omniauth-stripe-connect) providers:
|
90
99
|
|
91
|
-
* Provide values for
|
100
|
+
* Provide values for following environment variables:
|
101
|
+
* `ENV["LINKEDIN_CONSUMER_KEY"]`
|
102
|
+
* `ENV["LINKEDIN_CONSUMER_SECRET"]`
|
103
|
+
* `ENV["STRIPE_CONNECT_CONSUMER_KEY"]`
|
104
|
+
* `ENV["STRIPE_CONNECT_CONSUMER_SECRET"]`
|
92
105
|
* Add the file `config/initializers/thincloud_authentication.rb` with the following contents:
|
93
106
|
|
94
107
|
```ruby
|
95
108
|
Thincloud::Authentication.configure do |config|
|
96
|
-
config.providers
|
97
|
-
|
98
|
-
|
99
|
-
|
109
|
+
config.providers = {
|
110
|
+
linkedin: {
|
111
|
+
scopes: "r_emailaddress r_basicprofile",
|
112
|
+
fields: ["id", "email-address", "first-name", "last-name", "headline",
|
113
|
+
"industry", "picture-url", "location", "public-profile-url"]
|
114
|
+
},
|
115
|
+
stripe_connect: {
|
116
|
+
require: "omniauth-stripe-connect",
|
117
|
+
scopes: "read_write"
|
118
|
+
}
|
100
119
|
}
|
101
120
|
end
|
102
121
|
```
|
@@ -119,6 +138,15 @@ Using the example above, you will have the following routes locally:
|
|
119
138
|
* `logout_url` points to "/logout" - Make sure to use the `delete` method to logout.
|
120
139
|
|
121
140
|
|
141
|
+
### Redirection
|
142
|
+
|
143
|
+
You can customize the paths used to redirect users after login, logout and registration by overriding the corresponding methods in your ApplicationController, or specific controllers, as needed.
|
144
|
+
|
145
|
+
* `after_login_path` is used after the user logs in.
|
146
|
+
* `after_logout_path` is used after the user logs out.
|
147
|
+
* `after_registration_path` is used after the user registers.
|
148
|
+
|
149
|
+
|
122
150
|
## TODO
|
123
151
|
|
124
152
|
* Add "forgot password" functionality
|
@@ -10,10 +10,12 @@ module Thincloud
|
|
10
10
|
|
11
11
|
config = Thincloud::Authentication.configuration || Configuration.new
|
12
12
|
strategies = config.providers.keys
|
13
|
-
strategies.each
|
13
|
+
strategies.each do |strategy|
|
14
|
+
lib = config.providers[strategy][:require] || "omniauth-#{strategy}"
|
15
|
+
require lib
|
16
|
+
end
|
14
17
|
|
15
18
|
app.middleware.use ::OmniAuth::Builder do
|
16
|
-
|
17
19
|
# always provide the Identity strategy
|
18
20
|
provider :identity, fields: [:email], model: Identity,
|
19
21
|
on_failed_registration: RegistrationsController.action(:new)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thincloud-authentication
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-10-
|
13
|
+
date: 2012-10-14 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -60,22 +60,6 @@ dependencies:
|
|
60
60
|
- - ~>
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 1.1.0
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: omniauth-linkedin
|
65
|
-
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
|
-
requirements:
|
68
|
-
- - ~>
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 0.0.8
|
71
|
-
type: :runtime
|
72
|
-
prerelease: false
|
73
|
-
version_requirements: !ruby/object:Gem::Requirement
|
74
|
-
none: false
|
75
|
-
requirements:
|
76
|
-
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
version: 0.0.8
|
79
63
|
- !ruby/object:Gem::Dependency
|
80
64
|
name: cane
|
81
65
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,7 +83,7 @@ dependencies:
|
|
99
83
|
requirements:
|
100
84
|
- - ~>
|
101
85
|
- !ruby/object:Gem::Version
|
102
|
-
version: 1.
|
86
|
+
version: 1.4.0
|
103
87
|
type: :development
|
104
88
|
prerelease: false
|
105
89
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -107,7 +91,7 @@ dependencies:
|
|
107
91
|
requirements:
|
108
92
|
- - ~>
|
109
93
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1.
|
94
|
+
version: 1.4.0
|
111
95
|
- !ruby/object:Gem::Dependency
|
112
96
|
name: minitest
|
113
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -147,7 +131,7 @@ dependencies:
|
|
147
131
|
requirements:
|
148
132
|
- - ~>
|
149
133
|
- !ruby/object:Gem::Version
|
150
|
-
version: 0.
|
134
|
+
version: 0.2.0
|
151
135
|
type: :development
|
152
136
|
prerelease: false
|
153
137
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -155,7 +139,7 @@ dependencies:
|
|
155
139
|
requirements:
|
156
140
|
- - ~>
|
157
141
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.
|
142
|
+
version: 0.2.0
|
159
143
|
- !ruby/object:Gem::Dependency
|
160
144
|
name: minitest-rails-shoulda
|
161
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -163,7 +147,7 @@ dependencies:
|
|
163
147
|
requirements:
|
164
148
|
- - ~>
|
165
149
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
150
|
+
version: 0.2.0
|
167
151
|
type: :development
|
168
152
|
prerelease: false
|
169
153
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -171,7 +155,7 @@ dependencies:
|
|
171
155
|
requirements:
|
172
156
|
- - ~>
|
173
157
|
- !ruby/object:Gem::Version
|
174
|
-
version: 0.
|
158
|
+
version: 0.2.0
|
175
159
|
- !ruby/object:Gem::Dependency
|
176
160
|
name: rb-fsevent
|
177
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,7 +179,7 @@ dependencies:
|
|
195
179
|
requirements:
|
196
180
|
- - ~>
|
197
181
|
- !ruby/object:Gem::Version
|
198
|
-
version: 0.
|
182
|
+
version: 0.7.1
|
199
183
|
type: :development
|
200
184
|
prerelease: false
|
201
185
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -203,7 +187,7 @@ dependencies:
|
|
203
187
|
requirements:
|
204
188
|
- - ~>
|
205
189
|
- !ruby/object:Gem::Version
|
206
|
-
version: 0.
|
190
|
+
version: 0.7.1
|
207
191
|
- !ruby/object:Gem::Dependency
|
208
192
|
name: mocha
|
209
193
|
requirement: !ruby/object:Gem::Requirement
|
@@ -211,7 +195,7 @@ dependencies:
|
|
211
195
|
requirements:
|
212
196
|
- - ~>
|
213
197
|
- !ruby/object:Gem::Version
|
214
|
-
version: 0.12.
|
198
|
+
version: 0.12.7
|
215
199
|
type: :development
|
216
200
|
prerelease: false
|
217
201
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -219,7 +203,7 @@ dependencies:
|
|
219
203
|
requirements:
|
220
204
|
- - ~>
|
221
205
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.12.
|
206
|
+
version: 0.12.7
|
223
207
|
description: Rails Engine to provide authentication for Thincloud applications
|
224
208
|
email:
|
225
209
|
- pcohen@newleaders.com
|
@@ -268,7 +252,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
268
252
|
version: '0'
|
269
253
|
segments:
|
270
254
|
- 0
|
271
|
-
hash:
|
255
|
+
hash: -3024527014021950158
|
272
256
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
273
257
|
none: false
|
274
258
|
requirements:
|
@@ -277,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
277
261
|
version: '0'
|
278
262
|
segments:
|
279
263
|
- 0
|
280
|
-
hash:
|
264
|
+
hash: -3024527014021950158
|
281
265
|
requirements: []
|
282
266
|
rubyforge_project:
|
283
267
|
rubygems_version: 1.8.24
|