嗨,我有一个rails应用程序&我想为它构建一个API。到目前为止,我从未参与过API构建。所以请告诉我应该从哪里开始构建API。我希望将其公开,以便开发人员可以使用我的API构建应用程序。我脑子里有两个问题
我尝试在here运行演示,但只有部分正在运行,但我无法运行客户端部分。
请详细指导我学习这些东西。在此先感谢...!
答案 0 :(得分:3)
自问这个问题以来已经有一段时间了,自那以后创建了很多很好的资源,我将在下面总结并链接到这些资源。
Doorkeeper gem允许您实施OAuth提供程序功能,并且well documented并且维护得很好。它整合了with Devise,并且有example applications可供学习。
在客户端(用于测试集成,或者如果您想为外部开发人员提供Ruby客户端),您可以使用OmniAuth,并且Doorkeeper文档将引导您完成{{{ 3}}
根据您正在构建的API类型,您可能会发现OAuth过度。 OAuth在您是内容提供商的情况下非常有用,开发人员是第三方,希望代表用户访问,但不需要了解他们的信息密码。
如果您的用例更简单(例如,您可以直接向API用户提供秘密令牌和密钥),那么生成和检查访问令牌可能就足够了。在这种情况下,您生成一个密钥(使用SecureRandom.urlsafe_base64
或creating a custom strategy,如果您使用的是Rails 5)并存储它。 API用户在每个请求上提供此令牌以进行身份验证,如果原始版本遭到入侵,您可以重新生成令牌。
有关has_secure_token
和here的详细信息。