处理Oauth 1.0a中受保护资源的正确方法是什么?

时间:2013-01-23 03:35:52

标签: oauth

我需要知道如何使用OAuth 1.0a处理受保护的资源。 我已经阅读了官方文档并看到了一些实现,但我需要澄清一些要点。

1)此时,消费者具有链接到用户的已批准访问令牌,并且提供者服务器对其进行验证。

  • 如果访问令牌无效会发生什么?
  • 提供商服务器会发出什么样的状态代码?
  • 如果发生这种情况,消费者服务器应该将用户重定向到他可以授权另一个令牌的屏幕吗?

2)如果访问令牌的验证正确,则消费者和提供者将交换信息。例如,消费者将询问用户的电子邮件地址,提供商将提供该电子邮件地址。

  • 应该使用什么协议来交换这些信息? (JSON?)
  • 此信息应该在回复正文中还是在其他地方?

3)遵循标准,访客令牌和提供的受保护信息应由消费者服务器保留。

由于

1 个答案:

答案 0 :(得分:1)

您可能应该链接官方文档。但无论如何,这里都是你问题的快速答案。

  

1)此时,消费者拥有链接到用户的经批准的访问令牌,提供者服务器对其进行验证。

     

如果访问令牌无效,会发生什么?什么样的地位   代码会提供服务器问题吗?如果发生这种情况应该   消费者服务器将用户重定向到他可以授权的屏幕   另一个令牌?

根据RFC 5849,如果提供的任何令牌无效,则提供商应返回401(未授权)状态代码。

  

服务器应该返回401(未授权)状态代码   接收具有无效客户端凭据的请求,无效或   过期令牌,无效签名或无效或使用过的随机数。


  

2)如果访问令牌的验证是正确的,消费者和   提供者将交换信息。例如消费者会   询问用户的电子邮件地址,提供商将提供该地址。

     

应该使用什么协议来交换这些信息? (JSON?)   这些信息应该在响应的主体中还是在另一个中   放置?

这个词应该是can,而不是will。一旦验证完成,规范不要求在提供者和请求者之间传输任何 必需 的特定信息。此确定完全取决于应用程序提供商


  

3)遵循标准应该是Access Tokens和受保护的   提供的信息由消费者服务器保留。

再一次,规范没有强制要求。但是,通常的做法是存储从提供者检索的访问令牌。我不是律师(IANAL),但请注意,将从提供商处检索到的数据保存到第三方系统可能会违反法律。