Google One Tap

Добавляет вход через Google One Tap на страницу логина админки Payload, обменивая credential Google на токен сессии Payload.

Сообщество 13 15/нед MIT v1.0.7

Установка

pnpm add payload-plugin-google-one-tap

Описание

Плагин встраивает кнопку Google One Tap на страницу входа в админку Payload. На клиенте кнопка рендерится через `@react-oauth/google`, полученный credential отправляется POST-запросом на эндпоинт `/oauth2/callback/google` и обменивается на токен сессии Payload. Текущие административные сценарии продолжают работать после входа без изменений. На сервере используется стратегия `passport-google-one-tap`, которая подключается к коллекции пользователей админки через `addStrategyToCollection`. Если пользователя с совпадающим email нет в базе, плагин создаёт его автоматически с случайным паролем и флагом `_verified: true`. Если email уже существует, возвращается текущий пользователь. Параметры кнопки настраиваются: type, theme, size, text, shape, logo_alignment, width, locale, useOneTap, auto_select, ux_mode. Для работы требуются переменные окружения `PAYLOAD_PUBLIC_GOOGLE_CLIENT_ID` и `GOOGLE_CLIENT_SECRET`. Также необходима пользовательская конфигурация admin.webpack с resolve.fallback (util, stream-browserify, fs:false и т.д.) и вызов `app.use(express.json())` в server.ts. Плагин использует `useHistory` из `react-router-dom` и хуки `useAuth`/`useConfig` из Payload, поэтому работает только с админкой Payload 1.x (peer dependency `^1.1.15`). С Payload 3.x не совместим.

О пакете

Имя пакета
payload-plugin-google-one-tap
Последняя версия
1.0.7
Размер
48 кБ
Лицензия
MIT
Загрузок в неделю
15
Последняя публикация
22 нояб. 2022 г.

Ещё от ScottEAdams

Профиль автора