【问题标题】:devise_token_auth how to identify a user by tokendevise_token_auth 如何通过令牌识别用户
【发布时间】:2016-08-28 13:29:49
【问题描述】:

我是新来使用gem devise_token_auth 并且正在使用移动客户端api,两个问题:

1) 我应该如何识别用户?我目前的理解是关于 http 请求标头集 access_token 是这样吗?

但从源代码看来,我应该为 uidaccess_tokenclientlink 提供 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,哪个是access-token

谢谢!

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    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

    【讨论】:

      猜你喜欢
      • 2019-01-24
      • 2021-03-08
      • 2018-12-27
      • 2020-01-10
      • 2015-08-29
      • 2016-04-06
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      相关资源
      最近更新 更多