2017-02-25 3 views
1

Ich benutze Knock in Rails, um Benutzer mit JWT zu authentifizieren.Benutzer erhalten JWT Knock Rails JWT

Ich bekomme Authentifizierung aus der Box, aber es gibt Fälle, wo ich bekomme das Benutzerobjekt, wenn ich die JWT habe. Also, wie mache ich das Innere des Klopf gebaut einige Funktion

get_user(jwt)    # should return user if valid or null if not 

Antwort

2

Erfordert nicht Knock, kann dies leicht mit ruby-jwt gem erfolgen, die auch Klopfen verwendet

def get_user(jwt) 
    decoded_token = JWT.decode jwt, Rails.application.secrets.secret_key_base, true, { :algorithm => 'HS256' } 
    current_user = User.find((decoded_token[0])['sub'])) 
    current_user 
end