Запрос OAuth перенаправляет на панель администратора после входа в систему shopify - PullRequest
0 голосов
/ 05 июля 2018

Я создал приложение shopify для чтения данных магазина, таких как название категории, название продукта и т. Д. Следуя этому руководству https://help.shopify.com/api/getting-started/authentication/oauth

Я написал скрипт на python, чтобы сделать OAUTH запрос на установку моего приложения в магазине shopify. Я использую ключ api, секретный ключ во время запроса OAuth, а также задаю URL-адрес приложения, URL-адрес перенаправления в белом списке в приложении на панели мониторинга партнера. Здесь происходит 2 случая:

  1. первый случай, когда владелец магазина входит в магазин. Запрос OAuth предоставляется и перенаправляет на страницу установки приложения, а после установки перенаправляет на redirect_url, переданный с URL-адресом запроса OAuth.

  2. 2-й случай, когда владелец магазина не вошел в магазин. OAuth-запрос перенаправляет на страницу входа в магазин, а после того, как страница входа в систему перенаправляет на панель администратора магазина. не перенаправляет на страницу установки приложения.

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

Кроме меня, другие разработчики магазинов также сталкиваются с этой проблемой. Вот еще 2 ссылки на тот же вопрос, на которые нет ответа, в дискуссионном форуме shopify.

https://ecommerce.shopify.com/c/shopify-apis-and-technology/t/oauth-flow-for-non-logged-in-users-526732

https://ecommerce.shopify.com/c/shopify-apps/t/oauth-error-whitelisted-url-if-user-is-not-logged-in-516603

что я пробовал:

Я пытаюсь сделать это в Джанго. Вот код, в котором я пытаюсь перенаправить пользователя в магазин для авторизации.

def redirect_to_shopify_store(request):
    redirect_url = "https://" + store_name + ".myshopify.com/admin/oauth/authorize?client_id=" + api_key

    redirect_url += "&scope=read_orders, write_checkouts, read_themes, write_themes, read_products, write_products, unauthenticated_read_product_listings, read_product_listings, read_collection_listings"

    redirect_url += "&redirect_uri=" + python_app_base_url + "/get_shopify_access_token/"

    redirect(redirect_url)

и вот код, который я пытаюсь получить токен доступа shopify:

def get_shopify_access_token(request):
    code = request.GET.get('code')
    client_id = shopify_config['client_id']

    request_url = "https://{store_name}.myshopify.com/admin/oauth/access_token?client_id={client_id}".format(
    store_name=store_name, client_id=client_id
    )

    request_url += "&client_secret=" + shopify_config['client_secret']
    request_url += "&code=" + code

    response = requests.post(request_url)

    shopify_access_token = response.json()['access_token']

    print("shopify_access_token")
    print(shopify_access_token)

    redirect('success_page_url')

Если я перенаправлю как следующий URL

https://{store_name}.myshopify.com/admin/auth/login?redirect=oauth/authorize?client_id, access_scope

Я получаю сообщение об отсутствии доступа к access_scope и перенаправляюсь на следующий URL:

https://{store_name}.myshopify.com/admin/oauth/authorize?client_id

не удалось определить причину пропуска параметра accsess_scope.

Любая помощь от специалистов Shopify будет оценена.

...