Derzeit habe ich eine Identity Server 4-Webanwendung mit externen Anmeldeanbietern mit Standard-Client-ID und Geheimnissen erstellt. Mein Ziel ist es jedoch, die Authentifizierungsanbieter wie Azure, Google und Facebook basierend auf dem Mandanten zu registrieren.
Ich habe die mandantenfähige SaasKit -Assembly verwendet. Hier habe ich die Middleware app.usepertenant () ausprobiert . Die UseGoogleAuthentication () -Methode ist jedoch veraltet, sodass ich mit dieser usepertenanten Middleware keine mandantenfähige Authentifizierung erreichen konnte.
Aktueller Code,
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddMicrosoftAccount(option =>
{
option.ClientId = "clientid";
option.ClientSecret = "clientsecret";
option.SaveTokens = true;
});
Der erwartete Code ist wie folgt:
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);
});