桌面应用程序需要OAuth客户端凭证(key + secret),即使具有有效的令牌凭证

本文关键字:凭证 令牌 有效 应用程序 OAuth 客户端 桌面 key secret | 更新日期: 2023-09-27 17:49:46

我的印象是,一旦授权过程完成,访问令牌和密钥(令牌凭证)就是使用目标资源所需要的全部。根据这句话[在某些情况下,客户端凭证不能被信任,并且只能仅用于信息目的,例如在桌面应用程序客户端中],情况可能并非如此。我遇到了一个问题,即使在授权之后,仍然需要消费者密钥和秘密(客户端凭证)才能访问资源。这似乎不对。

我已经在我的桌面应用程序中实现了OAuth,查找DotNetOpenAuth示例。我基本上使用了未更改的InMemoryTokenManagerDesktopConsumer,一旦授权,所有工作都很完美。当我重新启动应用程序并重用保存的令牌凭证时,应用程序无法访问资源。如果使用保存的令牌凭据+客户端凭据,则可以正确访问资源。这是故意的吗?听起来不正确,但我不是专家。

桌面应用程序需要OAuth客户端凭证(key + secret),即使具有有效的令牌凭证

正确。根据OAuth 1.0规范,每次使用访问令牌时都需要客户端凭据。这可以防止泄露的访问令牌被其他客户端利用。这个推理主要是假设客户端秘密实际上是一个秘密,正如你指出的那样,桌面应用不可能是一个秘密。然而,你可以有一个不是秘密的"秘密",并在你的应用启动时保持它,只是为了保持一切顺利。