2017-02-25 54 views
1

我在Rails中使用Knock來使用JWT對用戶進行身份驗證。獲取用戶jwt Knock Rails JWT

我開箱即可獲得身份驗證,但有些情況下我需要在擁有jwt時獲取用戶對象。那麼,如何做到這一點使用的內部內置了一些功能敲

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

回答

2

不需要Knock,這可以很容易地ruby-jwt寶石做這敲門也使用

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