В настоящее время я сталкиваюсь с реализацией следующего сценария в Keycloak, но я не знаю, как go об этом, используя некоторые пользовательские SPI.
По сути, предполагаемый сценарий выглядит следующим образом:
- сервис связывается с клавиатурой для создания одноразового токена, начиная с адреса электронной почты пользователя. Таким образом, этот токен должен быть так или иначе связан с этим пользователем в keycloak, основываясь на адресе электронной почты. Этот токен также должен использоваться, например, только в течение 1 минуты после создания. Также: служба, запрашивающая токен для пользователя, будет использовать client-auth на основе идентификатора клиента и client-secret.
- токен должен быть возвращен запрашивающей службе в виде URL-адреса.
- этот URL с токеном будет отправлен пользователю, для которого был запрошен URL-адрес токена.
- пользователь щелкает URL-адрес в течение 1 минуты после создания токена. URL указывает на keycloak. Keycloak проверяет представленный токен и, если все в порядке, перенаправляет пользователя в бэкэнд-приложение без аутентификации, поэтому пользователь попадает в бэкэнд-приложение, полностью аутентифицированное. Кто-нибудь есть идеи или указатели о том, как справиться с подобным сценарием в Keycloak?
Очевидно, что я только здесь прошу часть Keycloak этого сценария. Не стоит беспокоиться о реализации службы, которая будет запрашивать токен.