OpenIddict'u kullanmaya başladım ve bence tam olarak ihtiyacınız olan şey bu.
ConfigureServices:
Bu gerekli tüm yapılandırma temelde
services.AddIdentity<ApplicationUser, ApplicationRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders()
.AddOpenIddictCore<Application>(config => config.UseEntityFramework());
yapılandır
app.UseOpenIddictCore(builder =>
{
// tell openiddict you're wanting to use jwt tokens
builder.Options.UseJwtTokens();
// NOTE: for dev consumption only! for live, this is not encouraged!
builder.Options.AllowInsecureHttp = true;
builder.Options.ApplicationCanDisplayErrors = true;
});
// use jwt bearer authentication
app.UseJwtBearerAuthentication(options =>
{
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
options.RequireHttpsMetadata = false;
options.Audience = "http://localhost:58292/";
options.Authority = "http://localhost:58292/";
});
gibi bir veya iki diğer küçük şeyler vardır, senin DbContext'in OpenIddictContext<ApplicationUser, Application, ApplicationRole, string>
'dan türetilmesi gerekiyor. http://capesean.co.za/blog/asp-net-5-jwt-tokens/
https://gist.github.com/siacomuzzi/1832edeb905a9582a7dd:
Sen benim bu blog yayınında (github repo ilişkin bağlantılar dahil) bir tam boy bir açıklama görebilir? – adaam
teşekkürler. Zaten bu konuya rastladım ve bu arada kullanıyordum ama sadece JWT tüketimi değil, nesil değil, asp.net5'te kullanımdan kaldırılmış görünen Microsoft.Owin paketlerini kullanıyor. Kullanılabilirler, sadece Microsoft.AspNet.Authentication'ı kullanmazlar, ki bu her şeyin yolunda gittiği yerlerdir. –