私はAsp.Net MVC Identity 2.0を動作させる方法を学んでいます。OAuthベアラ認証用にASP.NET MVC IDを解読する
私はClaimsIdentityとAuthenticationTicketと私のためのソースコードを見てきました
//This will used the HTTP header Authorization: "Bearer 1234123412341234asdfasdfasdfasdf"
OAuthBearerOptions = new OAuthBearerAuthenticationOptions();
app.UseOAuthBearerAuthentication(OAuthBearerOptions);
Startup.Auth.csためのコードはここで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";
}
に動作します。このコードを持っていますチケットがアイデンティティのためにどのように登録されているかわかりません。
このチケットはOwinパイプラインにどのように登録されましたか?
可能であれば、このチケットを取り消すことを目指しています。
ありがとうございます。
ご返信ありがとうございます。はい、私はTaiseerのチュートリアルを勉強して、それは非常に良いです。投稿したコードも同じように動作します。私がチケットを取り消す方法があるかどうか知りたいのですが? – superfly71
@ superfly71投稿を更新しました。私はあなたが望むものを達成するためにリフレッシュトークンを実装する必要があると思います。 – BBauer42
私が実際にあなたが提供したリンクに記載されているブラックリストアプローチを採用しました。私はもっと良いアプローチを望んでいました。とにかくありがとうございました! – superfly71