C# OWIN с токеном доступа в коде (код позади) - PullRequest
0 голосов
/ 30 марта 2020

У меня есть веб-приложение. Есть реализация oauth2. Вопрос, в решении, в другом проекте, как я могу «войти» в систему пользователя, чтобы получить токен доступа, без вызова веб-метода «/ token». Проблема в том, что мое приложение использует устаревшую пользовательскую систему. Поэтому, чтобы войти в систему, сначала я вызываю устаревшую систему, и, если вход успешен, я генерирую новый пароль и вызываю веб-метод «/ token». Теперь я нахожусь за балансировкой нагрузки F5, и нецелесообразно вызывать локальный веб-сервис, так как я могу добавить ссылку на проект и вызвать все внутри класса. Я искал inte rnet и нашел хорошее подробное объяснение / учебник о том, в каком порядке он вызывается для получения токена.

result = await userManager.AddPasswordAsync(appUser.Id, userPassword);
if (!result.Succeeded)
return ExamineIdentityError(result, "Failed to update password (2)", input);

var oAuthIdentity = await appUser.GenerateUserIdentityAsync(userManager, OAuthDefaults.AuthenticationType);
oAuthIdentity.AddClaim(new Claim(ClaimTypes.Name, userName));
oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, "User"));
var authorization = new OmniChannelOAuthAuthorizationServerOptions();
return GenerateOauthToken(....);//<- what to do?

Thnx

...