Авторизация с помощью функции на примере использования сервиса регистрации, аутентификации и управления пользователями Ory Kratos.
- Разверните Ory Kratos с помощью сервиса Cloud Apps по инструкции.
- Скачайте проект
git clone ...
и откройте его в IDE или консоли. - Выполните
npm install
для установки зависимостей. - Выполните
npm run build
для сборки проекта. - Создайте облачную функцию, в качестве среды выполнения выберите Node.js и вставьте код из build/index.js. При
создании функции проставьте переменную окружения
KRATOS_API_BASE_PATH=https://${kratos-api-gateway-domain}/public
, где${kratos-api-gateway-domain}
- доменное имя API-шлюза, созданного на шаге 1 при развертывании Ory Kratos. - Создайте API Gateway и вставьте спецификацию из openapi-example.yaml, подставив в неё идентификатор функции-авторайзера и идентификатор сервисного аккаунта, созданных на предыдущем шаге.
- Откройте браузер и зайдите на страницу тестовой консоли Ory Kratos по
адресу
https://${kratos-api-gateway-domain}/ui/
. - Зарегистрируйте пользователя.
- Выполните вход
https://${kratos-api-gateway-domain}/ui/#
. - Откройте консоль разработчика в браузере и скопируйте значение cookies с названием
ory_kratos_session
. - Выполните
команду
curl 'https://${authorized-api-gateway-domain}/authorized/api' -H 'Cookie: ory_kratos_session=${ory-kratos-cookie}'
, подставив в качестве${authorized-api-gateway-domain}
доменное имя API-шлюза, созданного на 6-м шаге установки, а в качестве${ory-kratos-cookie}
- значение куки, скопированное на предыдущем шаге. Если в ответе вы получитеAuthorized!
, значит сессия пользователя активна и API был успешно вызван после проверки авторизационной куки.