Когда я пытаюсь передать этот JWT (выданный Azure Mobile Services) в качестве заголовка HTTP/авторизацию/Bearer маркер:Почему я получаю SecurityTokenSignatureKeyNotFoundException?
Header:
{
"alg": "HS256",
"typ": "JWT",
"kid": "0"
}
Claims:
{
"ver": 2,
"aud": "Facebook",
"iss": "urn:microsoft:windows-azure:zumo",
"urn:microsoft:credentials": "pYK8b5...",
"exp": 1436730730,
"uid": "Facebook:10000xxxxxxxxxx"
}
В мой ASP.NET Web API конфигурации:
const string issuer = "urn:microsoft:windows-azure:zumo";
byte[] mobileServicesSecret = TextEncodings.Base64Url.Decode(ConfigurationManager.AppSettings["as:SecretKey"]);
app.UseJwtBearerAuthentication(
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { "Facebook" },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, mobileServicesSecret)
}
});
I получить:
Первый шанс исключение типа 'System.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException' произошло в Syst em.IdentityModel.Tokens.Jwt.dll
Я подозреваю, что это связано с наличием свойства «ребенок»?
РЕДАКТИРОВАТЬ: Используя это https://github.com/Magenic/JWTvalidator/tree/master/JwtValidator/JwtValidator, можно проверить JWT, так что в этом нет ничего плохого. Но я действительно хочу использовать OWIN/Katana.
Не могли бы вы решить проблему? Я застрял в этом. Не могли бы вы предоставить код. –
@KunalB. нет, извините, я так и не нашел решение использовать Owin/Katana. Я должен был использовать класс JwtValidator в ссылке и использовать собственный атрибут аутентификации для его проверки. Microsoft делает то, что они делают лучше всего; одна команда (команда Azure Mobiles Services) сидит на одной стороне забора, другая (команда ASP.NET) сидит с другой стороны, и они, вероятно, никогда не разговаривали друг с другом ... :( –
Через 2 дня вот что Я нашел - http://markwalsh.io/development/2014/12/02/ASP.Net%20Web%20API%20with%20JWT/ это сработало для меня. Во время отладки у меня все еще появляется какое-то странное сообщение. –