vk icon indicating copy to clipboard operation
vk copied to clipboard

Добавить асинхронный двухфакторный вход

Open LiptonDev opened this issue 7 years ago • 3 comments

Есть 2 метода авторизации: AuthorizeAsync и Authorize. Почему в AuthorizeAsync нету возможности ввода двухфакторного кода асинхронно?

await API.AuthorizeAsync(new ApiAuthParamsAsync
{
	ApplicationId = AppID,
	Login = Login,
	Password = Password,
	Settings = Settings.Wall | Settings.Offline,
	TwoFactorAuthorizationAsync = GetCode
});

...

Task<string> GetCode() { .... }

LiptonDev avatar Feb 18 '18 18:02 LiptonDev

@LiptonOlolo Я долго думал, а для чего? асинхронность ради асинхронности? я считаю эта операцию должна быть синхронной

inyutin-maxim avatar Feb 27 '18 06:02 inyutin-maxim

@inyutin-maxim Ну смотри, есть, например, ТОЛЬКО асинхронная функция для, например, диалогового окна, в который я буду просить вводить человека код, но проблема в том, что если я запущу его синхронно (т.е. в конце добавлю .Result), то окно даже не появится, а вся форма попросту повиснет. Это нужно.

LiptonDev avatar Mar 05 '18 08:03 LiptonDev

@LiptonOlolo Мы открыты к пулл реквестам, я не знаю когда у меня появится время разобраться.

inyutin-maxim avatar Mar 05 '18 08:03 inyutin-maxim


var api = new VkApi();
await api.AuthorizeAsync(new ApiAuthParams
{
	ApplicationId = 3453535,
	Login = "",
	Password = "",
	Settings = Settings.All,
	TwoFactorAuthorizationAsync = GetCode()
});
	

private static async Task<string> GetCode()
{
	Console.WriteLine("Enter Code:");
	return Console.ReadLine();
}

Panuchi avatar Apr 02 '23 05:04 Panuchi

Добавлено к следующему релизу. Либо можете получить обновление из альфа канала: https://www.myget.org/F/vknet

inyutin-maxim avatar Apr 02 '23 18:04 inyutin-maxim