वर्तमान में, मैंने डिफ़ॉल्ट क्लाइंट आईडी और रहस्यों के साथ बाहरी लॉगिन प्रदाताओं के साथ एक पहचान सर्वर 4 वेब एप्लिकेशन बनाया है। लेकिन मेरा लक्ष्य किरायेदार के आधार पर प्रमाणीकरण प्रदाताओं जैसे एज़्योर, Google, फेसबुक को पंजीकृत करना है।
मैंने 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);
});