Я изучаю, как работать с ASP.NET MVC Identity 2.0.Распаковка идентификатора ASP.NET MVC для аутентификации идентификатора OAuth
У меня есть этот код, который работает на OAuth Носителем
[HttpGet]
[ActionName("Authenticate")]
[AllowAnonymous]
public String Authenticate(string user, string password)
{
if (string.IsNullOrEmpty(user) || string.IsNullOrEmpty(password))
{
return "Failed";
}
var userIdentity = UserManager.FindAsync(user, password).Result;
if (userIdentity != null)
{
if (User.Identity.IsAuthenticated)
{
return "Already authenticated!";
}
var identity = new ClaimsIdentity(Startup.OAuthBearerOptions.AuthenticationType);
identity.AddClaim(new Claim(ClaimTypes.Name, user));
identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, userIdentity.Id));
AuthenticationTicket ticket = new AuthenticationTicket(identity, new AuthenticationProperties());
var currentUtc = new SystemClock().UtcNow;
ticket.Properties.IssuedUtc = currentUtc;
ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromMinutes(1));
string AccessToken = Startup.OAuthBearerOptions.AccessTokenFormat.Protect(ticket);
return AccessToken;
}
return "Failed in the end";
}
Вот код для Startup.Auth.cs
//This will used the HTTP header Authorization: "Bearer 1234123412341234asdfasdfasdfasdf"
OAuthBearerOptions = new OAuthBearerAuthenticationOptions();
app.UseOAuthBearerAuthentication(OAuthBearerOptions);
Я смотрел на исходный код для ClaimsIdentity и AuthenticationTicket и I не видите, как билет зарегистрирован для личности.
Вопрос: как этот билет зарегистрирован в трубопроводе Owin?
Моя цель - аннулировать этот билет, если это возможно.
Заранее спасибо.
Благодарим вас за ответ. Да, я изучил учебник Тайсера, и это очень хорошо. Код, который я опубликовал, работает одинаково. Что я хотел бы знать, есть ли способ отменить билет? – superfly71
@ superfly71 Я обновил сообщение. Я думаю, вам нужно реализовать токены обновления, чтобы выполнить то, что вы хотите. – BBauer42
Я фактически принял черный список, как указано в ссылке, которую вы предоставили. Я просто надеялся на лучший подход. В любом случае, благодарю Вас! – superfly71