В настоящее время я создал веб-приложение Identity server 4 с внешними провайдерами входа в систему с идентификатором клиента и секретами по умолчанию. Но моя цель - зарегистрировать провайдеров аутентификации, таких как Azure, Google, Facebook, на основе арендатора.
Я использовал многопользовательскую сборку SaasKit , здесь я попробовал промежуточное программное обеспечение app.usepertenant () . Но метод UseGoogleAuthentication () устарел, поэтому я не смог добиться многопользовательской аутентификации с использованием этого промежуточного программного обеспечения usepertenant.
Текущий код,
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);
});