0

我在理解 OAuth 1.0 规范时遇到问题。

oauth 身份验证有 3 个步骤:

  1. 获取 request_token(服务器 <-> 服务器)
  2. 重定向用户并授权(客户端被重定向)
  3. 交换 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?还是我完全误解了某些东西并且两者都是正确的?

4

1 回答 1

0

这是一个不同的 OAuth 版本。

  • OAuth 1.0 在步骤 2 中指定参数
  • OAuth 1.0a 指定第 1 步中的参数

RFC 针对 1.0a 进行了更新,而http://oauth.net/core/1.0/#auth_step2是针对 1.0 版本的。1.0a 有一个新文档 (http://oauth.net/core/1.0a/)

于 2012-06-12T22:40:45.670 回答