Saat ini, saya telah membuat aplikasi web server Identity 4 dengan penyedia login eksternal dengan id dan rahasia klien default. Tetapi tujuan saya adalah mendaftarkan penyedia otentikasi seperti Azure, Google, Facebook berdasarkan penyewa.
Saya telah menggunakan perakitan multi-tenancy SaasKit , di sini saya telah mencoba app.usepertenant () middleware. Tetapi metode UseGoogleAuthentication () sudah usang, jadi saya tidak bisa mencapai otentikasi multi-penyewa menggunakan middleware usepertenant ini.
Kode saat ini,
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddMicrosoftAccount(option =>
{
option.ClientId = "clientid";
option.ClientSecret = "clientsecret";
option.SaveTokens = true;
});
Kode yang diharapkan seperti di bawah ini,
var authentication = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme);
if (tenant.hasMicrosoft)
{
authentication.AddMicrosoftAccount(option =>
{
option.ClientId = "clientid";
option.ClientSecret = "clientsecret";
option.SaveTokens = true;
});
}
if (tenant.hasGoogle)
{
authentication.AddGoogle(option =>
{
option.ClientId = "clientid";
option.ClientSecret = "clientsecret";
option.SaveTokens = true;
});
}
authentication.AddCookie( options =>
{
options.SlidingExpiration = true;
options.ExpireTimeSpan = new TimeSpan(7, 0, 0, 0);
});