我们有许多客户使用我们的 API 来支持他们的网站。
我在工作中开始了关于使用 OAuth 进行经过身份验证的 API 调用的对话。 我们将同时拥有两条腿和三条腿的流程。
对于三足流,我们还没有就如何存储访问 token 和 secret 达成共识。
解决此问题的常见方法是让客户将访问 token 和 secret 存储在他们自己的数据库中,但这是不可能的,因为客户不想处理代码更改和实现问题。
我们正在考虑的其他选项:
1) 将访问 token 和 secret 保存在 cookie 中
2) 将它们保存在 session 中。
我不确定这些是否是个好主意。有人有什么建议吗?
谢谢。
最佳答案
我假设您谈论的是典型的“服务提供商”、“消费者”和“用户”类型的设置。我不知道如果您的消费者(客户端)拒绝进行任何更改,您是否能够实现三足 oAuth。
session 和 cookie 可以用于保存 token ,但问题是需要保存它们的是您的消费者(您的客户),而不是您。对您的 API 的调用发生在后端,因此在该范围内没有可用的真实 session 或 cookie。如果您只进行 JavaScript 调用,也许这确实有效,但即便如此,调用通常也是通过代理进行的,以避免跨域脚本问题。
在任何一种情况下,如果 token 存储在 session 或 cookie 中,它们将是“临时” key ,用户将必须在 session 或 cookie 过期时重新进行身份验证。但就 oAuth 规范而言,这并没有错 - 只要用户不介意重新验证。
关于php - OAuth:存储访问 token 和 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3284260/