authie 4.0.0.rc3 → 4.0.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88107b7b60c50bacd33b7c704ab0e7c4f44efe86b1fbe371aa9ab7eca95ca657
4
- data.tar.gz: 76146beeb6b2a8143f7a40fb0df0412c84d9521a1e4431768d14d6e5b56fa702
3
+ metadata.gz: 99cb3ea1143001fdb259df6d251223036ae94ac4f2661d9732e01b9438a67702
4
+ data.tar.gz: 261dd3764202502100c0ba19bc649cb7cf3c09b57250d1643b0f14c35e10f2f3
5
5
  SHA512:
6
- metadata.gz: 65606471280d99e160c1e487be855ccbaca21cea958e872f9177c64b821b0cfd1c6e73b1c6b5f3d8cda582c8c20bd1beef1331c60e7ea20b1ba815a4fff2f222
7
- data.tar.gz: 6b1626f7618bc12a8e2f0358ce8ec59ac74f763c30e15c4f92769c656c2300dc5743a6cd2eec8195bfbe96c16b869f7595aa73dce51d5649e4db98b8dc76a8b0
6
+ metadata.gz: b1bfae12c744d812a64dc757b6524f3b09f951adf5f62528e96560dcb93f0424d4590575b5a082a715402c1dbfe8f8721b184fb4b369a9f71b1b51a9c318c81b
7
+ data.tar.gz: 8c344e7933ec8d13bea40130ba0974a9f2ac97fd5bcb3aa0694305b140b290f4a6a1082cfcfbba82261a11f0bf6c2611662acdb7fc65506b5107b09250f61fae
@@ -61,9 +61,9 @@ module Authie
61
61
  # will be invalidated.
62
62
  #
63
63
  # @return [Authie::Session, nil]
64
- def create_auth_session(user)
64
+ def create_auth_session(user, **kwargs)
65
65
  if user
66
- @auth_session = Authie::Session.start(@controller, user: user)
66
+ @auth_session = Authie::Session.start(@controller, user: user, **kwargs)
67
67
  return @auth_session
68
68
  end
69
69
 
@@ -206,20 +206,22 @@ module Authie
206
206
  # Create a new session within the given controller for the
207
207
  #
208
208
  # @param controller [ActionController::Base]
209
- # @option params [ActiveRecord::Base] user
209
+ # @param user [ActiveRecord::Base] user
210
+ # @param persistent [Boolean] create a persistent session
210
211
  # @return [Authie::Session]
211
- def start(controller, params = {})
212
+ def start(controller, user:, persistent: false, see_password: false, **params)
212
213
  cookies = controller.send(:cookies)
213
214
  SessionModel.active.where(browser_id: cookies[:browser_id]).each(&:invalidate!)
214
- user_object = params.delete(:user)
215
215
 
216
216
  session = SessionModel.new(params)
217
- session.user = user_object
217
+ session.user = user
218
218
  session.browser_id = cookies[:browser_id]
219
219
  session.login_at = Time.now
220
220
  session.login_ip = controller.request.ip
221
221
  session.host = controller.request.host
222
222
  session.user_agent = controller.request.user_agent
223
+ session.expires_at = Time.now + Authie.config.persistent_session_length if persistent
224
+ session.password_seen_at = Time.now if see_password
223
225
  session.save!
224
226
 
225
227
  new(controller, session).start
@@ -261,6 +263,7 @@ module Authie
261
263
  delegate :active?, to: :session
262
264
  delegate :browser_id, to: :session
263
265
  delegate :expired?, to: :session
266
+ delegate :expires_at, to: :session
264
267
  delegate :first_session_for_browser?, to: :session
265
268
  delegate :first_session_for_ip?, to: :session
266
269
  delegate :get, to: :session
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authie
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.rc3
4
+ version: 4.0.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Cooke