Вы можете использовать RequestPasswordTokenAsync
: Отправляет запрос токена с использованием типа предоставления пароля.
Я считаю, что рекомендуется использовать HttpClientFactory:
//private readonly IHttpClientFactory _httpClientFactory;
var client = _httpClientFactory.CreateClient();
var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");
if (disco.IsError) throw new Exception(disco.Error);
var tokenClient = _httpClientFactory.CreateClient();
var tokenResult = tokenClient.RequestPasswordTokenAsync(new PasswordTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = "ro.client",
ClientSecret = "secret",
UserName = "alice",
Password = "alice"
});