현재 기본 클라이언트 아이디와 비밀을 가진 외부 로그인 공급자가있는 Identity Server 4 웹 응용 프로그램을 만들었습니다. 그러나 내 목표는 테넌트를 기반으로 Azure, Google, Facebook과 같은 인증 공급자를 등록하는 것입니다.
내가 사용이 SaasKit 여기에 내가 시도, 조립 멀티 테넌시 (multi-tenancy)를 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);
});