Я изучаю поток кода авторизации OAuth 2.0 и пытаюсь написать приложение React с бэкэндом Express, которое отображает то, что пользователь увидит в своем профиле Instagram. Я пытаюсь сделать это с минимальными внешними библиотеками (то есть без использования passport-js) и без привлечения базы данных в смесь.
Это мой поток на данный момент:
Владелец ресурса щелкает тег <a>
в приложении React (порт 3000), который перенаправляет их на конечную точку /auth/instagram
моего сервера Express (порт 8000)
res.redirect(AUTHORIZATON_URL)
отправляет их на сервер авторизации Instagram
Владелец ресурса согласен, и код авторизации отправляется обратно на предопределенный URL-адрес перенаправления /auth/instagram/callback
с кодом авторизации, установленным в качестве параметра запроса
Я удаляю код авторизации из URL и делаю POST
запрос к https://api.instagram.com/oauth/access_token
, чтобы получить токен доступа
Теперь, когда у меня есть токен доступа, как мне обратиться к интерфейсу React, чтобы сообщить им, что все работает и что пользователь успешно прошел аутентификацию?
Из того, что я прочитал, именно здесь вступает в игру идея сессий и файлов cookie, но мне не повезло найти документацию о том, как достичь того, чего я хочу, без привлечения сторонних библиотек.
В конце я хотел бы, чтобы мое приложение поддерживало одновременный просмотр их профилей несколькими пользователями. Поскольку я представляю, что передача токена доступа во внешний интерфейс лишена цели безопасного извлечения его на бэкэнде, я предполагаю, что мне как-то понадобится передать идентификатор сеанса между внешним интерфейсом и бэкэндом, который каким-то образом связан с токеном доступа.
Будем очень благодарны за любые идеи относительно моих следующих шагов, а также за любые статьи или документацию, которые вы считаете подходящими. Спасибо!