我正在使用devise_token_auth并且遇到了一个奇怪的场景。
我的数据库中只有一个用户,当我在控制台中询问他的令牌时,我得到了这个:
$ user.tokens
{
"_5_Mh40SfQvsnkerykJMIw"=>{
"token"=>"$2a$10$EScwGJLVba9oN1uek0m0bOy6.nyRq9q6yFO25nKbiPCOslUEwBrFi",
"expiry"=>1527942239,
"last_token"=>nil,
"updated_at"=>"2018-05-19T14:23:59.127+02:00"
}
}
所以现在我想要一个新的令牌,所以我执行以下命令:
$ user.create_new_auth_token
这是对那个电话的回应
"access-token"=>"Uof0cB0KcI5RH-GFOCezDw",
"token-type"=>"Bearer",
"client"=>"J_Bb35u9pcBCUSLuzP8axA",
"expiry"=>"1527942277",
"uid"=>"eddie@me.com"
哪个应该是新的令牌,对吧?所以我再次检查用户的令牌:
$ user.tokens
{
"_5_Mh40SfQvsnkerykJMIw"=>{
"token"=>"$2a$10$EScwGJLVba9oN1uek0m0bOy6.nyRq9q6yFO25nKbiPCOslUEwBrFi",
"expiry"=>1527942239,
"last_token"=>nil,
"updated_at"=>"2018-05-19T14:23:59.127+02:00"
},
"J_Bb35u9pcBCUSLuzP8axA"=>{
"token"=>"$2a$10$trmOQQOnQRfMXGk0s8XS5ufUl9OHDnPcK7f4M4qXfGggj4gCUIc12",
"expiry"=>1527942277,
"last_token"=>nil,
"updated_at"=>"2018-05-19T14:24:37.637+02:00"
}
}
现在,你看到问题了吗?新客户端J_Bb35u9pcBCUSLuzP8axA
匹配但access-token
我在创建新令牌时收到的 ( ) 与存储在数据库中的 ( )Uof0cB0KcI5RH-GFOCezDw
不匹配$2a$10$trmOQQOnQRfMXGk0s8XS5ufUl9OHDnPcK7f4M4qXfGggj4gCUIc12
这是为什么?我认为创建新令牌时的响应将是同一个令牌。是什么access-token
意思?它是干什么用的?