주기적인 인증 기능 포함 및 코드 정리

This commit is contained in:
2026-06-25 13:50:54 +09:00
parent f178d69a99
commit ee38072ff9
14 changed files with 94 additions and 136 deletions

View File

@@ -74,9 +74,9 @@ namespace BaronSoftware.SSO
/// refreshToken 기반 인증: 저장된 refresh_token으로 창 없이(無窓) 토큰을 재발급한다.
/// refresh_token이 만료/무효 등으로 실패하면 웹뷰 대화형 로그인(LoginWindow)으로 폴백한다.
/// </summary>
public async Task<TokenResponse> LoginAsync(string refreshToken)
public async Task<TokenResponse> LoginAsync(string refreshToken, bool retryWindow = true)
{
if (string.IsNullOrWhiteSpace(refreshToken))
if (string.IsNullOrWhiteSpace(refreshToken) && retryWindow)
return await LoginAsync();
try
@@ -91,9 +91,9 @@ namespace BaronSoftware.SSO
}
catch
{
// 저장된 refresh_token이 만료/폐기/무효 → 자동 로그인 실패.
// 사용자가 다시 로그인할 수 있도록 웹뷰 로그인 창을 띄운다.
return await LoginAsync();
if(retryWindow)
return await LoginAsync();
throw;
}
}