我有一个谷歌应用引擎项目,我想让我的REST API可供第三方使用。喜欢twitter API。
Twitter要求发送用户和密码,以便他们可以获得授权 - 我可以使用谷歌用户帐户吗?
我已在本网站的某处阅读过这不是首选方法,因为他们的凭据已输入第三方应用程序/通过等。
我不想过度复杂并将它们重定向到谷歌自己的登录/验证码等等。我已经看到了这个的实现 - 桌面/电话/小部件也可能无法正常工作。
是第三方应用程序调用我的服务的解决方案 - 应用程序调用我的网站上的页面(要求登录 - 我只是添加登录权限)然后用户登录并且我的应用程序然后创建一个长令牌然后传回第三方应用程序,然后将其存储在自己的存储库中,并在post / put / delete请求中将其作为Token arg传递。 然后,我的REST服务检查令牌和查找(令牌|用户密钥)对,并允许/拒绝方法调用。
我还可以向应用询问他们的域名?并存储这个。我想我可以在REST服务上读取请求的URL并检查它们是否匹配等?
这是一个合理的解决方案,还是我生活在90年代?
答案 0 :(得分:1)
OAuth是在考虑到这种情况的情况下创建的。这是你刚才描述的那种auth-token方案的规范,现在是reasonably widespread。
有关余额,请参阅this recent StackOverflow thread。