class EasyJwtAuth::UserFinder
Attributes
algo[R]
finder_method[R]
secret[R]
Public Class Methods
new()
click to toggle source
# File lib/easy_jwt_auth/user_finder.rb, line 3 def initialize @algo = Config.algo @finder_method = Config.finder_method @secret = Config.secret end
Public Instance Methods
user_from_header(auth_header)
click to toggle source
# File lib/easy_jwt_auth/user_finder.rb, line 9 def user_from_header(auth_header) raise InvalidAuthHeader unless valid_header?(auth_header) decoded_token = JWT.decode( token_from_header(auth_header), secret, true, { algorithm: algo } ) data = decoded_token.first finder_method.call(data['id']) end
Private Instance Methods
token_from_header(auth_header)
click to toggle source
# File lib/easy_jwt_auth/user_finder.rb, line 24 def token_from_header(auth_header) auth_header.split.last end
valid_header?(auth_header)
click to toggle source
# File lib/easy_jwt_auth/user_finder.rb, line 28 def valid_header?(auth_header) /Bearer (.+)/.match(auth_header) end