gpt4 book ai didi

c++ - 我如何为用户生成个人访问 token ?

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:07 25 4
gpt4 key购买 nike

我目前正在为我的 Web 服务开发一个 REST API。每个注册的用户都必须有一个单独的 API 访问 token ,但是我如何生成一个,而不检查每个 token 是否与新 token 相同?

[Not important]

当我使用 REST API 以便我可以使用 Web 界面、桌面应用程序、Android 应用程序等时,这是好主意还是坏主意?但它不会是“公共(public)功能”!可能稍后。

最佳答案

如果由我来决定,我会发布递增的数字作为用户 ID。然后我会使用 256 位 AES 之类的东西来加密该用户 ID。

然后我可能会让用户包含一个 JSON web token包含他们的用户 ID 和访问 token ——加密的 ID。

为了验证他们的网络 token ,您加密他们的用户 ID 并检查它是否与访问 token 匹配(或者您解密访问 token 并检查它是否与用户 ID 匹配)。

只要您创建一个真正随机的加密 key ,并将其保密,您的安全性就应该仅取决于底层加密算法的安全性。

这里的主要弱点是所涉及的值是一个固定的网络 token ,因此如果其他人“嗅探”了用户的数据包,他们可以使用回放攻击——也就是说,他们可以使用与真正的用户。有一些方法可以防止这种情况发生,但是(除非您主要使用预构建的“东西”来实现它)它们变得相当复杂。

“增强”协议(protocol)中最简单的可能是不仅使用用户 ID,而且(例如) session ID 和数据包 ID(两者都递增),将三者连接在一起并加密。然后每个数据包都会有一个唯一的加密值来验证。

关于c++ - 我如何为用户生成个人访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46040213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com