Latest
This commit is contained in:
parent
f5f62ac828
commit
4b4d49a25a
1 changed files with 11 additions and 11 deletions
|
|
@ -13,12 +13,12 @@
|
||||||
Создайте файл `.env.local` (см. [`/.env.local.example`](./.env.local.example)) и задайте:
|
Создайте файл `.env.local` (см. [`/.env.local.example`](./.env.local.example)) и задайте:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
NEXT_PUBLIC_API_BASE_URL=https://test.ruact.ru # адрес бэкенда GoAuthSocial
|
NEXT_PUBLIC_API_BASE_URL=https://test.ruact.ru
|
||||||
NEXT_PUBLIC_YANDEX_CLIENT_ID=xxxxxxxxxxxxxxxxxxxx # client_id из кабинета Yandex
|
NEXT_PUBLIC_YANDEX_CLIENT_ID=xxxxxxxxxxxxxxxxxxxx
|
||||||
NEXT_PUBLIC_YANDEX_REDIRECT_URI=https://frontend.test.ruact.ru/auth/callback
|
NEXT_PUBLIC_YANDEX_REDIRECT_URI=https://test.ruact.ru/auth/callback
|
||||||
```
|
```
|
||||||
|
|
||||||
`NEXT_PUBLIC_YANDEX_REDIRECT_URI` должен совпадать с URL, указанный в настройках приложения Yandex ID. На этот адрес вернётся код авторизации, который фронтенд отправит на бэкенд.
|
`NEXT_PUBLIC_YANDEX_REDIRECT_URI` должен совпадать с адресом, указанным в настройках приложения Yandex ID.
|
||||||
|
|
||||||
### Запуск в разработке
|
### Запуск в разработке
|
||||||
|
|
||||||
|
|
@ -27,23 +27,23 @@ pnpm install
|
||||||
pnpm dev
|
pnpm dev
|
||||||
```
|
```
|
||||||
|
|
||||||
Откройте [http://localhost:3000](http://localhost:3000). На главной странице расположен брендированный лендинг с официальной кнопкой Yandex ID (через SDK `sdk-suggest`).
|
После сборки и деплоя фронтенд обслуживается по `https://test.ruact.ru`. На главной странице размещена кнопка Yandex ID (через SDK `sdk-suggest`).
|
||||||
|
|
||||||
### Пользовательский flow
|
### Пользовательский flow
|
||||||
|
|
||||||
1. Пользователь нажимает кнопку «Войти через Yandex».
|
1. Пользователь нажимает кнопку «Войти через Yandex».
|
||||||
2. Yandex SDK перенаправляет на страницу авторизации Yandex ID с указанным `redirect_uri`.
|
2. SDK перенаправляет на страницу авторизации Яндекса с `redirect_uri=https://test.ruact.ru/auth/callback`.
|
||||||
3. После успешного подтверждения Yandex возвращает браузер на `/auth/callback` с `code` и `state`.
|
3. После авторизации Яндекс возвращает браузер на `/auth/callback` с `code` и `state`.
|
||||||
4. Страница `/auth/callback` автоматически отправляет `code` на GoAuthSocial (`/api/v1/auth/callback/yandex`).
|
4. Страница `/auth/callback` отправляет эти данные на backend (`/api/v1/auth/callback/yandex`).
|
||||||
5. Бэкенд возвращает `AuthCallbackResponse` (access_token, refresh_token, application_token и др.), который отображается пользователю.
|
5. Backend возвращает `AuthCallbackResponse` с токенами и `application_token`.
|
||||||
|
|
||||||
Если SDK не загрузился, отображается fallback‑кнопка, которая запрашивает redirect URL у бэкенда (`/api/v1/auth/authorize/yandex`) и вручную выполняет перенаправление.
|
Если SDK не загрузился, отображается fallback‑кнопка, которая запрашивает redirect URL у бэкенда (`/api/v1/auth/authorize/yandex`) и вручную выполняет перенаправление.
|
||||||
|
|
||||||
### Дальнейшая интеграция
|
### Дальнейшая интеграция
|
||||||
|
|
||||||
- Сохраните `application_token` и токены провайдера в хранилище клиента.
|
- Сохраните `application_token` и токены провайдера в хранилище клиента.
|
||||||
- Организуйте защищённые запросы к вашему API с использованием `application_token`.
|
- Организуйте авторизованные запросы к API через `application_token`.
|
||||||
- Добавьте обработку ошибок и logout по требованиям продукта.
|
- Реализуйте обработку ошибок и logout под требования конкретного продукта.
|
||||||
|
|
||||||
### Скрипт Yandex ID
|
### Скрипт Yandex ID
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue