Я читаю, как Symfony управляет пользователями с помощью пользовательского провайдера: https://symfony.com/doc/current/security/custom_provider.html
Когда пользователь отправляет имя пользователя и пароль, уровень аутентификации просит настроенного провайдера пользователя:вернуть объект пользователя для данного имени пользователя.Затем Symfony проверяет, верен ли пароль этого пользователя, и генерирует маркер безопасности
. Это прекрасно работает, когда мы подключаемся к базе данных с локальным именем пользователя / паролем, но я хочу пройти аутентификацию на другом сервисе.,По сути, я хочу использовать Symfony в качестве клиента, который использует службу входа пользователя.Вот как я бы это сделал, за исключением того, что у меня нет доступа к паролю здесь.
public function loadUserByUsername($username)
{
$client = new Client(['base_uri' => $uri]);
$user_response = $client->get('api/v1/getTokens/', ['auth' => [$username, <passord>]);
// $user_response
}
И это сильно отличается от того, что ожидает Symfony, который должен получить объект пользователя, а затем выдать егособственные токены, если имя пользователя и пароль совпадают.
Должен ли я отказаться от всего интерфейса Custom Provider для моей собственной системы?