Я пытаюсь запустить свое приложение, но оно застряло со следующей ошибкой:
System.NotSupportedException HResult = 0x80131515 Сообщение = IDX10634: Невозможно создать SignatureProvider. Алгоритм: "[PII скрыт по умолчанию. Установите флаг 'ShowPII' в IdentityModelEventSource.cs на true чтобы раскрыть это.] ', SecurityKey:' [PII по умолчанию скрыт. Установить 'ShowPII' флаг в IdentityModelEventSource.cs для true, чтобы показать его.] ' не поддерживается.
Где
Алгоритм RS256
Это застревает при выполнении этой инструкции: var sectoken = tokenHandler.CreateToken(tokenDescriptor);
Что это значит? Что пошло не так в моем коде? Как я могу решить это?
Вот мой код:
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
//...
public class TokenManager
{
private string unencoded_key = "CaptainDeadpool";
private string encoded_key = "CaptainDeadpool";
//...
public TokenManager()
{
var plainTextBytes = Encoding.UTF8.GetBytes(unencoded_key);
encoded_key = Convert.ToBase64String(plainTextBytes);
}
public string CreateFromUsername(string usr, int? timer)
{
if (timer == null) { timer = 30; }
double timeadd = Convert.ToDouble(timer);
var secret = Convert.FromBase64String(encoded_key);
var tokenHandler = new JwtSecurityTokenHandler();
var actual = DateTime.UtcNow;
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, usr) }),
Expires = actual.AddMinutes(timeadd),
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(secret), SecurityAlgorithms.RsaSha256Signature)
};
var sectoken = tokenHandler.CreateToken(tokenDescriptor);
var stringtoken = tokenHandler.WriteToken(sectoken);
return stringtoken;
}
//...
Вот мой контент tokenDescriptor
при выдаче ошибки: