주기적인 인증 기능 포함 및 코드 정리
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user