0

我正在创建自己的“Oauth 服务提供商‘系统’”,但我有疑问..

我应该如何验证oauth_signature/ consumer_secret.. 我基本上不明白。

我的问题是:

  1. oauth_signature参数被发送到服务提供商时,它是已经使用 signature_method 散列还是以“明文”形式发送的。
  2. 当收到它时,我应该使用 signature_method 对它(或不基于 Q1 )进行哈希处理,然后查看它是否与数据库中的匹配?
  3. 使用hash_hmac时参数应该是什么?我的意思是,数据是什么,函数中的秘密是什么

对不起,如果它很复杂或者我是一个大菜鸟 - 我一直在寻找答案,但找不到任何明确的答案。

注意:我没有使用 PHP 的 Oauth 库/类

4

1 回答 1

1
  1. 好吧,如果oauth_signature_methodPLAINTEXT,值oauth_signature只是简单的签名基本字符串。如果它说HMAC_SHA1或其他密码散列算法,客户端使用此算法使用他的秘密对签名基础字符串进行散列,然后将此散列作为oauth_signature参数发送。

  2. 由于客户端已经对基本字符串进行了哈希处理,您可以将发送的值与您在服务器端计算的值进行比较。

  3. data是您构造的签名基本字符串secret这种格式的客户端和令牌的秘密:

    {CONSUMER_SECRET}&{OAUTH_TOKEN_SECRET}
    
于 2012-09-08T18:54:56.620 回答