Phoenix.Token用于API注销?

时间:2017-07-13 21:29:20

标签: phoenix-framework

我知道您可以使用Phoenix.Token生成和验证API的令牌。

我这样生成:

session = %{token: Phoenix.Token.sign(conn, "user", user.id)}

验证:

Phoenix.Token.verify(conn, "user", token)

我不明白我如何组织"删除"用户注销时的会话。有可能吗?

1 个答案:

答案 0 :(得分:0)

令牌是签名字符串,Phoenix.Token.verify只会检查令牌是否使用真正的机密生成。无法使令牌无效。

根据您的需要,您可以将令牌存储在用户相关的表中,例如auth_tokens,当用户注销时,您可以从那里删除令牌。当用户再次登录时,创建一个新的。

令牌的主要目的是确保它是在可信实例上生成的,一旦创建,verify函数将始终接受这样的令牌。