【问题标题】:OAuth client credentials (key + secret) needed in a desktop app even with valid token credentials即使使用有效的令牌凭据,桌面应用程序也需要 OAuth 客户端凭据(密钥 + 密钥)
【发布时间】:2011-08-03 01:46:36
【问题描述】:

我的印象是,一旦授权过程完成,访问令牌和秘密(令牌凭据)就是使用目标资源所需的全部内容。根据此引用 [in some cases, the client credentials cannot be trusted and can only be used for informational purposes only, such as in desktop application clients],情况可能并非如此。我遇到了一个问题,即使在授权消费者密钥和秘密(客户端凭据)之后仍然需要访问资源。这似乎不对。

我在查找DotNetOpenAuth 示例的桌面应用程序中实现了OAuth。我基本上使用了未更改的InMemoryTokenManagerDesktopConsumer,一旦获得授权,一切都会完美运行。当我重新启动应用程序并重新使用保存的令牌凭据时,应用程序无法访问资源。如果我使用保存的令牌凭据 + 客户端凭据,则可以正常访问资源。这是设计使然吗?听起来不正确,但我不是专家。

【问题讨论】:

    标签: c# wpf oauth dotnetopenauth


    【解决方案1】:

    这是正确的。根据 OAuth 1.0 规范,每次使用访问令牌时都需要客户端凭据。这可以保护泄露的访问令牌不被其他客户端利用。这种推理主要假设客户端秘密实际上是秘密,正如您所指出的,不能假设桌面应用程序。不过,您可以拥有一个并非秘密的“秘密”,并在应用程序的启动过程中对其进行维护,以保持一切顺利。

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 2021-01-18
      • 2019-12-04
      • 2021-12-09
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多