背景:我正在尝试创建 SMS API 服务。开发人员有一个 Dev ID,以及分配给他们的开发人员帐户的 API 密钥。开发人员将创建将调用我的 API 的应用程序。但必须首先验证发出调用的应用程序。
问题:我遇到的主要问题是身份验证。我阅读了 OAuth 并且非常了解它。我通读了这个演示文稿(幻灯片 71-82)。所有 OAuth 文章都在谈论 OAuth 的“舞蹈”或“三角恋”。我的问题似乎是,在我的情况下我没有看到合适的三角形。或者,更好的说法是,三角形似乎并不完整。
我的意思是,假设 LinkedIn 试图制作一些应用程序来帮助用户将他们的 LinkedIn acc 与 twitter 关联起来,OAuth 是完全有意义的。因为LinkedIn需要代表用户从twitter获取资源(因为用户有一个推特账户)。在我的情况下,只有消费者拥有在我的服务中注册的开发者帐户。最终用户没有任何凭据可供消费者代表询问。那么我该如何实现 Oauth?那么消费者会问供应商什么呢?它只会说“小心,我来了?”。因为这似乎毫无意义,除非它要求请求令牌以换取访问令牌。但在这种情况下,由于最终用户甚至没有帐户,因此这些步骤似乎毫无用处。
所以,我不知道如何解决这个身份验证问题。我尝试过考虑使用 php 会话,这样它可以帮助我将令牌与使用 API 的特定客户端相关联。但是 REST/OAUTH 纯粹主义者似乎不同意在身份验证中使用会话。他们声称 OAuth 是一个已经证明了自己的标准,这是我应该使用的,而不是提出我自己的晦涩方案。