如何生成oauth令牌?
OAuth 1.0协议没有指出生成令牌的算法服务器。我应该使用什么算法?随机序列可以吗?
The OAuth 1.0 Protocol didn't point out the algorithm servers generating tokens. What algorithm should I use? Is random sequence OK?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
每组凭据(客户端、临时、令牌)的秘密部分应尽可能随机且尽可能长。您希望防止任何人通过拦截请求和破解签名来发现秘密。
OAuth 1.0a 规范中的 秘密熵 部分介绍了更多内容详细信息(但仅此而已)。
我通常从
/dev/urandom
(在 Linux 系统上)读取以获取 12 或 15 个随机字节的二进制字符串,然后对其进行 Base64 编码。您可以使客户端秘密更长,因为它很少改变(如果有的话)。The secret part of each set of credentials (client, temporary, token) should be as random and as long as reasonably possible. You want to prevent anyone from discovering the secrets by intercepting a request and cracking the signature.
The section Entropy of Secrets in the OAuth 1.0a spec goes into more detail (but not much more).
I usually read from
/dev/urandom
(on Linux systems) to get a binary string of 12 or 15 random bytes and then base64 encode it. You might make the client secret longer since it changes rarely if ever.我自己还没有实现服务器,但随机应该可以工作。与您在客户端中使用的 nonce() 类似。
I haven't implemented a server myself, but random ought to work. Something similar to what you'd use for nonce() in a client.