设计Rails身份验证API

时间:2012-01-12 17:38:36

标签: ruby-on-rails json api authentication rest

我需要用户通过表单进行身份验证,但我还需要将此身份验证公开为API以供其他应用程序/设备使用。

显然我想保持简单并避免重复,那么我应该如何处理呢?我应该为用户登录和api登录使用单个URI吗?如果是这样,我应该如何处理不同的要求 - 通过flash / redirect通知用户成功或失败并将JSON对象返回给API客户端?

1 个答案:

答案 0 :(得分:2)

为您的用户使用基于表单的登录(例如Devise

和基于OAuth的API登录(对于rails oauth2_provider

这里不能避免重复,如果你想要正确地做事,则不能。主要是因为您的API是无状态的,并且您的用户是有状态的(Cookie!)。