我创建了一个 REST 服务并使用 GAE 部署在云上。我不希望任何人仅通过使用 URL 就可以访问它。我应该对那里进行一些控制以提供身份验证,可能与请求一起提供。
我探索并获得了一些与 OAuth 相关的教程,但无法正确理解。
请帮助我解决这个问题。
提前致谢。
我创建了一个 REST 服务并使用 GAE 部署在云上。我不希望任何人仅通过使用 URL 就可以访问它。我应该对那里进行一些控制以提供身份验证,可能与请求一起提供。
我探索并获得了一些与 OAuth 相关的教程,但无法正确理解。
请帮助我解决这个问题。
提前致谢。
如果您正在寻找一种非常简单的方法并且您愿意接受限制,例如必须将浏览器用作客户端并使用 Google 帐户,请尝试使用 User API。
您可能应该考虑使用 OAuth 2.0,因为在不久的将来您可能需要进一步授权。此外,您可以通过以下方式实现自己的基本身份验证(但不推荐):
为用户提供 URL、ID 和 Secret。要求他们使用“秘密”和带有一些散列 (SHA/md5) 的随机数创建签名。然后,他们应该连同请求 url 一起发送随机数、ID 和签名。最后,您还使用给定的随机数计算给定 ID 的签名。如果签名匹配,则请求是真实的。
为什么我说不推荐是,你可以使用一些现有的 OAuth 机制。您也应该考虑阅读以下内容:使用 OAuth 保护我的 REST API,同时仍然允许通过第三方 OAuth 提供程序进行身份验证(使用 DotNetOpenAuth)