FusionAuth поддерживает эту модель. Мы называем это Регистрациями, и если у пользователя есть Регистрация для Приложения, ему будет разрешен доступ к нему. Если у них нет регистрации для этого приложения, они будут зарегистрированы, но им не будет предоставлен доступ к приложению.
Конкретная реализация c зависит от вашей интеграции с FusionAuth:
Если вы используете интерфейс OAuth, когда FusionAuth перенаправляет обратно в ваше приложение, он передает параметр с именем userState
. Это подсказка вашему приложению о том, зарегистрирован ли пользователь для него. Если значение этого параметра равно AuthenticatedNotRegistered
, вам не следует разрешать доступ к приложению.
Кроме того, если вы используете рабочий процесс OAuth, при обмене кода авторизации на токен этот токен не будет включите идентификатор приложения или любые роли, которые пользователь имеет для приложения.
Если вы используете API /api/login
, то ответ будет содержать код состояния 202
, который указывает, что пользователь прошел проверку подлинности но не зарегистрирован для заявки. Точно так же JWT, который возвращает этот API, также не будет включать идентификатор приложения или какие-либо роли.
Вот страницы do c для API OAuth и Login: