ปัจจุบันฉันได้สร้างเว็บแอพพลิเคชันเซิร์ฟเวอร์ Identity 4 ที่มีผู้ให้บริการเข้าสู่ระบบภายนอกที่มีรหัสลูกค้าและความลับเริ่มต้น แต่เป้าหมายของฉันคือการลงทะเบียนผู้ให้บริการการรับรองความถูกต้องเช่น Azure, Google, Facebook ตามผู้เช่า
ฉันใช้SaasKitชุดประกอบหลายผู้เช่าที่นี่ฉันได้ลองมิดเดิลแวร์ app.usepertenant ()แล้ว แต่UseGoogleAuthentication ()วิธีการล้าสมัยดังนั้นฉันไม่สามารถบรรลุการรับรองความถูกต้องของผู้เช่าหลายคนโดยใช้มิดเดิลแวร์ที่ใช้ก่อนหน้านี้
รหัสปัจจุบัน
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddMicrosoftAccount(option =>
{
option.ClientId = "clientid";
option.ClientSecret = "clientsecret";
option.SaveTokens = true;
});
รหัสที่คาดหวังเป็นเหมือนด้านล่าง
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);
});