Публикация в OAuth с учетными данными клиента с помощью Doorkeeper

Я реализовал REST API и защитил его с помощью привратника. Я написал небольшую клиентскую программу для доступа к ней, и она отлично работает, используя поток учетных данных владельца ресурса.

Теперь я пытаюсь реализовать вызов с использованием клиентских учетных данных потока . Итак, я последовал примеру в ссылке.

Все отлично работает, когда я использую запрос GET, но когда я использую запрос POST, я получаю 401 Unauthorized. Это вызов метода, которому не требуется владелец ресурса.

Единственное, что у меня есть в моем API-контроллере, это:

doorkeeper_for :all

Я не реализовал какие-либо области видимости или что-то в этом роде (, нужно ли это? ).

Код моего клиента выглядит вот так (точно так же, как в примере на github):

require 'rest-client'
require 'json'

client_id = 'my_client_id...'
client_secret = 'my_client_secret...'

response = RestClient.post 'http://localhost:3000/oauth/token', {
  grant_type: 'client_credentials',
  client_id: client_id,
  client_secret: client_secret
}
token = JSON.parse(response)["access_token"]

# this line works great:
RestClient.get 'http://localhost:3000/api/v1/flights.json', { 'Authorization' => "Bearer #{token}" }
# this line always fails (401 Unauthorized):
RestClient.post 'http://localhost:3000/api/v1/flights.json', { 'Authorization' => "Bearer #{token}" }

Любая идея, что я могу делать неправильно? Есть ли что-то особенное, что я должен сделать в своем приложении, чтобы включить поток учетных данных клиента?

10
задан davidrac 31 July 2012 в 17:55
поделиться