У меня есть интерфейс React, созданный следующим образом: https://shopify.dev/tutorials/build-a-shopify-app-with-node-and-react
Это приложение NextJs
React
с настраиваемым Koa
сервером для обслуживания NextJs
приложение. Этот сервер Koa
использует пакет koa-ashopify-auth
для выполнения OAuth
с Shopify и получения токена доступа.
Это код промежуточного программного обеспечения аутентификации:
server.use(
createShopifyAuth({
apiKey: SHOPIFY_API_KEY as string,
secret: SHOPIFY_API_SECRET_KEY as string,
scopes: ['read_products'],
afterAuth(ctx) {
const { shop, accessToken } = ctx.session as IShopifyKoaSession
>>> I would like to create a user on my own backend now and login the user.
.... more stuff
}
})
)
У меня есть бэкэнд Django
, в котором я буду настраивать конечную точку REST для аутентификации с моим бэкэндом (я бы хотел использовать JWT).
Итак, я выполнил OAuth с Shopify на стороне клиента и иметь токен доступа
Как использовать этот токен доступа на стороне клиента и безопасно создать нового пользователя на моем сервере безопасным способом?
Я думаю что-то вроде ->
...
const { shop, accessToken } = ctx.session as IShopifyKoaSession
await myApiService.createOrUpdateUser(shop, accessToken) // Calls my external backend
Как мне go это сделать? По сути, это неявный поток oauth.
Вышеупомянутое не будет безопасным, если не будет способа проверить магазин и токен доступа на бэкэнде.