Я установил shopify auth (omniauth-shopify-oauth2 gem) для своего приложения rails 3.2.6.
Он отлично работает при перенаправлении с веб-страницы (на следующее действие контроллера #)
class ShopifyController < ApplicationController
...
def login
redirect_to "/auth/shopify?shop=#{current_retailer.primary_host_name}"
end
Он перенаправляет меня на вход в магазин и, как только я вхожу в систему, перенаправляет обратно к успешному обратному вызову. Все в порядке (см. УСПЕХ ЖУРНАЛА СЕРВЕРА ниже).
Но когда я пытаюсь сделать то же самое с консоли rails:
irb(main):001:0> RestClient.get 'http://localhost:3000/auth/shopify?shop=vinehillposters.myshopify.com'
Я получил:
RestClient::Unauthorized: 401 Unauthorized: <?xml version="1.0" encoding="UTF-8"?>
<hash>
<errors>[API] Invalid API key or access token (unrecognized login or wrong password)</errors>
</hash>
см. СБОЙ ЖУРНАЛА СЕРВЕРА ниже
УСПЕХ В ЖУРНАЛЕ СЕРВЕРА
Processing by ShopifyController#login as HTML
... AR stuff snipped ...
Redirected to http://localhost:3000/auth/shopify?shop=vinehillposters.myshopify.com
Completed 302 Found in 93ms (ActiveRecord: 1.6ms)
(shopify) Setup endpoint detected, running now.
(shopify) Request phase initiated.
"https://vinehillposters.myshopify.com/admin/oauth/authorize?response_type=code&client_id=44dd9799fbc268c36ef609f0c2386b8c&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fshopify%2Fcallba
ck&scope=read_orders"
Started GET "/auth/shopify?shop=vinehillposters.myshopify.com" for 127.0.0.1 at 2012-10-30 11:24:21 +0000
(shopify) Setup endpoint detected, running now.
(shopify) Callback phase initiated.
Started GET "/auth/shopify/callback?code=c8c6696ed347e37324d2d62ec203457b&shop=vinehillposters.myshopify.com×tamp=1351596261&signature=e6324b041d6a6ed1e07719a8909d70f7" for 127.0.0.1 at
2012-10-30 11:24:21 +0000
Processing by ShopifyController#auth_callback as HTML
...
СБОЙ ЖУРНАЛА СЕРВЕРА:
(shopify) Setup endpoint detected, running now.
(shopify) Request phase initiated.
"https://vinehillposters.myshopify.com/admin/oauth/authorize?response_type=code&client_id=44dd9799fbc268c36ef609f0c2386b8c&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fshopify%2Fcallback&scope=read_orders"
Started GET "/auth/shopify?shop=vinehillposters.myshopify.com" for 127.0.0.1 at 2012-10-30 11:24:54 +0000
Возможно, вы заметили, что я распечатываю url-адрес request_phase прямо перед тем, как он будет перенаправлен на shopify (после (shopify) Request phase initiated.
). В обоих случаях это одно и то же. За исключением одного случая, он возвращает успех, а в другом - 401.
Итак, что я делаю не так?