Что заменило RequestResourceOwnerPasswordAsyn c в IdentityModel v.4.3.0? - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь получить информацию о владельце ресурса, но метод RequestResourceOwnerPasswordAsyn c недоступен в классе TokenClient в версии 4.3.0. Я искал документацию, но не нашел замены этому методу. Вот мой код:

enter image description here

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

Вы можете использовать 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"
    });
1 голос
/ 19 июня 2020

Как указано в другом ответе, вы также можете использовать TokenClient - RequestPasswordTokenAsync. Или используйте расширение для HttpClient. Вот ссылка на документацию: https://identitymodel.readthedocs.io/en/latest/client/token.html#requesting -a-token-using-the-password-grant-type

...