lib/doorkeeper/models/concerns/revocable.rb in doorkeeper-4.0.0.rc2 vs lib/doorkeeper/models/concerns/revocable.rb in doorkeeper-4.0.0.rc3
- old
+ new
@@ -1,13 +1,30 @@
module Doorkeeper
module Models
module Revocable
def revoke(clock = Time)
- update_attribute :revoked_at, clock.now
+ update_attribute :revoked_at, clock.now.utc
end
def revoked?
- !!(revoked_at && revoked_at <= Time.now)
+ !!(revoked_at && revoked_at <= Time.now.utc)
+ end
+
+ def revoke_previous_refresh_token!
+ return unless refresh_token_revoked_on_use?
+ old_refresh_token.revoke if old_refresh_token
+ update_attribute :previous_refresh_token, ""
+ end
+
+ private
+
+ def old_refresh_token
+ @old_refresh_token ||=
+ AccessToken.by_refresh_token(previous_refresh_token)
+ end
+
+ def refresh_token_revoked_on_use?
+ Doorkeeper.configuration.refresh_token_revoked_on_use?
end
end
end
end