exvo_auth 0.16.1 → 0.16.2

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 CHANGED
@@ -38,6 +38,7 @@ ENV['AUTH_CLIENT_SECRET'] = "bar"
38
38
  ENV['AUTH_DEBUG'] = "true" # [OPTIONAL] dumps all HTTP traffic to STDERR, useful during development; it *has to be a string, not a boolean*
39
39
  ENV['AUTH_REQUIRE_SSL'] = "false" # [OPTIONAL] disable SSL, useful in development (note that all apps API urls must be http, not https); it *has to be a string, not a boolean*
40
40
  ENV['AUTH_HOST'] = "test.exvo.com" # [OPTIONAL] override the default auth host
41
+ ENV['SSO_COOKIE_SECRET'] = "secret" # Generate using `SecureRandom.hex(16)`
41
42
  ```
42
43
 
43
44
  But you can also set things directly in the `config/application.rb` file (before the middleware declaration):
@@ -48,13 +49,9 @@ Exvo::Helpers.auth_client_secret = "bar"
48
49
  Exvo::Helpers.auth_debug = true # boolean
49
50
  Exvo::Helpers.auth_require_ssl = false # boolean
50
51
  Exvo::Helpers.auth_host = "test.exvo.com"
52
+ Exvo::Helpers.sso_cookie_secret = "secret"
51
53
  ```
52
54
 
53
- Add this line to `config/application.rb`:
54
-
55
- ```ruby
56
- config.middleware.use ExvoAuth::Middleware
57
- ```
58
55
 
59
56
  Add routes (Rails example):
60
57
 
@@ -191,7 +188,7 @@ before_filter :authenticate_user!
191
188
  If your application requires being accessed by a not logged in users, but you would still like to display a "logged in" state for users, which are logged in, you can unobtrusively authenticate such users by adding this in your controller(s):
192
189
 
193
190
  ```ruby
194
- before_filter :unobtrusively_authenticate_user_from_cookie
191
+ before_filter :unobtrusively_authenticate_user!
195
192
  ```
196
193
 
197
194
 
@@ -1,7 +1,7 @@
1
1
  module ExvoAuth::Controllers::Base
2
2
  # A before filter to protect your sensitive actions.
3
3
  def authenticate_user!(opts = {})
4
- authenticate_user_from_cookie
4
+ unobtrusively_authenticate_user!
5
5
 
6
6
  if !signed_in?
7
7
  store_request!
@@ -19,7 +19,8 @@ module ExvoAuth::Controllers::Base
19
19
  # Single Sign On - Authenticate user from cookie if a cookie is present
20
20
  # and delete local session if it's not (this should prevent orphan session problem,
21
21
  # when user signs out, but his session remains in one or more apps)
22
- def authenticate_user_from_cookie
22
+ # unobtrusively means that there is no redirect to Exvo Auth if user is not logged in
23
+ def unobtrusively_authenticate_user!
23
24
  if cookies[:user_uid]
24
25
  set_user_session_from_cookie
25
26
  else
@@ -27,14 +28,6 @@ module ExvoAuth::Controllers::Base
27
28
  end
28
29
  end
29
30
 
30
- # Single Sign On - Authenticate user from cookie if cookie is present
31
- # but don't do anything if the cookie is not present
32
- def unobtrusively_authenticate_user_from_cookie
33
- if cookies[:user_uid]
34
- set_user_session_from_cookie
35
- end
36
- end
37
-
38
31
  # Omniauth - Usually this method is called from your sessions#create.
39
32
  def sign_in_and_redirect!
40
33
  set_user_session_from_oauth
@@ -125,6 +118,7 @@ module ExvoAuth::Controllers::Base
125
118
  end
126
119
 
127
120
  def verifier
121
+ raise "ENV['SSO_COOKIE_SECRET'] is not set" if Exvo::Helpers.sso_cookie_secret.blank?
128
122
  @verifier ||= ActiveSupport::MessageVerifier.new(Exvo::Helpers.sso_cookie_secret)
129
123
  end
130
124
 
@@ -1,3 +1,3 @@
1
1
  module ExvoAuth
2
- VERSION = "0.16.1"
2
+ VERSION = "0.16.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exvo_auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.16.2
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-06-20 00:00:00.000000000 Z
13
+ date: 2012-06-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty