Это стандартный рабочий процесс предоставления кода авторизации OAuth.У нас есть этот рабочий процесс и многие другие, документированные здесь:
https://fusionauth.io/articles/logins/types-of-logins-authentication-workflows
Я предполагаю, что вашим конкретным рабочим процессом, скорее всего, является предоставление кода авторизации для одностраничных приложений с использованием JWT и токенов обновления, которыезадокументировано здесь:
https://fusionauth.io/articles/logins/spa/oauth-authorization-code-grant-jwts-refresh-tokens-cookies
Способ, которым это работает, заключается в том, что вы запускаете рабочий процесс OAuth из своего приложения, перенаправляя браузер на конечную точку /oauth2/authorize
FusionAuth.Вам нужно будет предоставить эту информацию для запуска рабочего процесса OAuth:
client_id
- это можно найти в разделе «Конфигурация приложения» в FusionAuth response_type
- для кода авторизациипредоставьте, это будет code
redirect_uri
- это местоположение, куда вы хотите вернуться после входа в систему с помощью FusionAuth.Вы должны настроить этот URI в FusionAuth на вкладке конфигурации OAuth приложения.
Если вы работаете с FusionAuth 1.6.0 или более поздней версии, вы также можете нажать значок «Просмотр» для своего приложения, и он отобразитсявсплывающее диалоговое окно, которое будет содержать URL-адрес OAuth.Вам все равно нужно будет указать redirect_uri
.Вот страница документации для конечной точки Авторизации:
https://fusionauth.io/docs/v1/tech/oauth/endpoints#authorize
После того, как вы это сделаете, вам нужно написать контроллер для вашего redirect_uri
.Этот контроллер извлекает code
из URL, который генерирует FusionAuth, и вызывает конечную точку /oauth2/token
.Этот процесс заменит код авторизации для токена доступа, который является JWT.
Документация для конечной точки /oauth2/otken
находится там:
https://fusionauth.io/docs/v1/tech/oauth/endpoints#token
Это поможет вам реализовать ваш контроллер.