php - OAuth:存储访问 token 和 secret

标签 php oauth storage access-token

我们有许多客户使用我们的 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 规范而言,这并没有错 - 只要用户不介意重新验证。

可以引用Sample app for .NET written using MVC 5 Razor engine

关于php - OAuth:存储访问 token 和 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3284260/

相关文章:

Android 4.2.2 'Not enough space on device' 无法安装应用

安卓 : How to store recorded audio inside SD-card

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - 如何在 Laravel 5.4 中获取当前用户 ID

javascript - intel xdk-将 html 连接到 php 以使用 mysqli 将值保存到数据库

php - OAuthException : redirect_uri isn't an absolute URI. 检查 RFC 3986 (Symfony)

javascript - 如何从 javascript 传递数组输入框值?我只填充第一个值

oauth - 认知 : User Pool Client OAuth Scope Limitation

android - 用于生产的 Google 游戏服务 OAuth key

android - 如何在 Android 上获取多个存储文件路径?