Ruby on rails 允许rails api返回json

Ruby on rails 允许rails api返回json,ruby-on-rails,api,Ruby On Rails,Api,我在这里迷路了,甚至不知道该问什么问题 我构建了一个api,如下所述: 它位于需要登录的站点上 我可以在登录时通过浏览器访问api,没有问题。以下是我的路线: ## API namespace :api do namespace :v1 do resources :users, :sessions end end 我被要求做的是这样做,外部方可以使用Api键、可选查询参数和用户ID请求json 我试着卷曲站点(https)并重定向到注销,即使使用用户名和密码也是如此 我的老板建

我在这里迷路了,甚至不知道该问什么问题

我构建了一个api,如下所述:

它位于需要登录的站点上

我可以在登录时通过浏览器访问api,没有问题。以下是我的路线:

## API
namespace :api do
  namespace :v1 do
    resources :users, :sessions
  end
end
我被要求做的是这样做,外部方可以使用Api键、可选查询参数和用户ID请求json

我试着卷曲站点(https)并重定向到注销,即使使用用户名和密码也是如此

我的老板建议在根url上使用一个公共表单,该表单接受userId、apikey和params,可以进行卷曲,并通过从curl发布的参数返回数据

我不知道如何做到这一点,甚至不允许在不登录的情况下调用数据。我看了另一个屏幕(这是一个付费版本),但他的交互允许另一个rails应用程序与他的原始应用程序交互

基本上,我应该在哪里寻找关于如何实现这一点的信息?还有什么其他的建议,或者更多的信息可以让我的问题更清楚


谢谢您的时间。

更多的铁路乘客!瑞安·贝茨,你有没有听说过

因此,归结起来:

  • 您需要确定调用API的客户端是否需要标识自己,或者是否还需要以某种方式进行身份验证
  • 您需要确定客户端(调用您的API)的用户是否需要向您的系统进行身份验证——也就是说,是否存在“用户”
一些API允许调用方传递API密钥作为查询的一部分;另一些则需要更复杂的身份验证过程,通常是OAuth,这有点棘手

有些API提供了用户特定的信息,在这种情况下,您需要一种方法来确保用户可以登录、更改密码、召回遗忘密码等等。在这方面也有一个很好的RailsCast(或者你可以使用Desive gem,不过如果你主要实现的是一个API,而不是Desive的强项,我不推荐使用它)

我猜您知道这一部分,但是
curl
所做的只是模拟您的客户端将对您的API发出的HTTP请求,并且(使用
--include
选项)可以向您显示有关返回的响应的信息--头、cookie等等

谷歌“rails api认证”了解更多信息