Я хочу авторизовать пользователей моего основного веб-API asp.net с помощью номера мобильного телефона только с Asp.NetCore Identity. Когда они попытаются войти с номером телефона, otp отправит на номер. Если они обеспечивают правильный otp, то будет сгенерирован токен. Я хочу использовать свой собственный sms api для отправки смс.
Вот мой код генерации токена. Этот метод вызывается после SignIn.
private string GenerateAuthToken(ApplicationUser user)
{
var claims = new List<Claim>
{
new Claim(JwtRegisteredClaimNames.Sub, user.UserName),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
new Claim(ClaimTypes.NameIdentifier, user.Id)
};
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JwtKey"]));
var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
var expires = Utilities.StaticProperties.GetCurrentDateTime().AddDays(Convert.ToDouble(_configuration["JwtExpireDays"]));
var token = new JwtSecurityToken(
_configuration["JwtIssuer"],
_configuration["JwtIssuer"],
claims,
expires: expires,
signingCredentials: creds);
var tokenString = new JwtSecurityTokenHandler().WriteToken(token);
return tokenString;
}