Реализовать социальный вход без сессий - PullRequest
0 голосов
/ 22 октября 2018

Я ввел логин Twitch на своем сайте Shopify, но как мне сохранить аутентифицированного пользователя на страницах моего сайта?Обычно это делается с помощью идентификатора сеанса, но, будучи Shopify, я не могу получить доступ к переменным сеанса.Можно ли заменить для этого обычный файл cookie?

  1. Пользователь нажимает кнопку входа Twitch на моем сайте
  2. Происходит аутентификация Oauth, я получаю токен доступа и т. Д.
  3. Пользователь перенаправлен обратно на мой сайт ... и что теперь?Когда они нажимают, чтобы перейти на другую страницу, как я узнаю, что это был тот же пользователь, который вошел на предыдущую страницу?Я предполагаю, что когда они впервые перенаправляют обратно на мой сайт, я создаю уникальный идентификатор и сохраняю его в базе данных, затем отправляю идентификатор обратно (возможно, в URL или заголовке?), И клиент сохраняет этот идентификатор в файле cookie(через JavaScript).Теперь при каждом обновлении страницы я получаю этот идентификатор из cookie-файла, отправляю его на мой сервер, который проверяет его по идентификатору в базе данных ... если он совпадает, я отображаю пользователю страницу.

1 Ответ

0 голосов
/ 22 октября 2018

Вам понадобится Многопроходная от API-интерфейса Shopify REST

Для этой интеграции также доступен модуль Node.js для GitHub beaucoo / multipassify

Поток аутентификации будет выглядеть примерно так:

  1. Аутентификация от третьего лица, такого как Twitch (Вы сделали это)
  2. Кодируйте данные своих клиентов способом, указанным в ShopifyMultipass API
  3. Перенаправить клиента на https://yourstorename.myshopify.com/account/login/multipass/<MULTIPASS-TOKEN>
...