Sha256: a04d36050da66512279cd7a11f368d658368a35bae78fd37ac9870d656ad1386
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
module SolidusJwt module DeviseStrategies class RefreshToken < Base def authenticate! return fail!(:invalid) if resource.nil? || resource.user.nil? block = proc do # If we honor then mark the refresh token as stale for one time use # rubocop:disable Rails/SkipsModelValidations resource.honor? && resource.update_columns(active: false) # rubocop:enable Rails/SkipsModelValidations end if resource.user.valid_for_authentication?(&block) return success!(resource.user) end fail!(:invalid) end private def resource @resource ||= SolidusJwt::Token.find_by(auth_hash) end def auth_hash { auth_type: :refresh, token: refresh_token } end def refresh_token params[:refresh_token] end def valid_grant_type? grant_type == 'refresh_token' end def valid_params? refresh_token.present? end end end end Warden::Strategies.add(:solidus_jwt_refresh_token, SolidusJwt::DeviseStrategies::RefreshToken)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_jwt-1.1.0 | lib/solidus_jwt/devise_strategies/refresh_token.rb |