2016-08-28 85 views
0

用戶我是新來使用gem devise_token_auth和移動客戶端API的使用,有兩個問題:devise_token_auth如何識別通過令牌

1)我應該如何識別用戶?我目前的理解是在一個http請求頭文件集access_token是這樣嗎?

但是從源代碼似乎我應該爲UID的access_token客戶link uid = request.headers['did'] @token = request.headers['access-token'] @client_id = request.headers['client']

2)我能找到一個user.tokens象下面這樣:

{"AOYZdDmwI7WQr8I6T4PpPw"=>{"token"=>"$2a$10$C/5f3JV7.9DZG8w.ggdCPelB6kzitWuGK4rfozHv15Hhf/x9DaCcO", "expiry"=>1473485374, "last_token"=>"$2a$10$abctsIP5bHPIm2nMXFTUH.1jPWQ5LiGTTrENjoqihWgcCkwRqbxb6", "updated_at"=>"2016-08-27T13:29:34.948+08:00"}} 

這是client和哪個是訪問-token

謝謝!

回答

0

headers = JSON.parse(cookies['authHeaders']) 
 
uid = headers['uid'] 
 
token = headers['access-token'] 
 
client_id = headers['client'] 
 
user = User.find_by_uid(uid) 
 
if !user || !user.valid_token?(token, client_id) 
 
    render json: {error: "Usuario no autorizado."}, status: 401 
 
end