我在理解 OAuth 1.0 规范时遇到问题。
oauth 身份验证有 3 个步骤:
- 获取 request_token(服务器 <-> 服务器)
- 重定向用户并授权(客户端被重定向)
- 交换 request_token 为 access_token(服务器 <-> 服务器)
我想设置一个 oauth_callback,以便用户在第 2 步中被重定向到我的站点。
考虑到https://www.rfc-editor.org/rfc/rfc5849#section-2.1我必须将 oauth_callback 参数放在步骤 1 中。
考虑到http://oauth.net/core/1.0/#auth_step2我必须把它放在第 2 步。
什么是正确的?
Dropbox oauth 文档说明了它的第 2 步:https ://www.dropbox.com/developers/reference/api
但是play框架(scala web framework)实现在步骤1中发送了这个参数。
这导致我的 Web 应用程序在身份验证后不会将用户重定向回我的站点。
但是哪个实现是错误的?Dropbox 还是 Play?还是我完全误解了某些东西并且两者都是正确的?