| 123456789101112131415161718192021222324 |
- namespace Application.Abstractions.YouTube;
- /// <summary>
- /// Google OAuth 2.0 Authorization Code Flow
- /// ID Token 검증(기존) 외에 Access Token 획득/갱신을 위한 서비스
- /// </summary>
- public interface IGoogleOAuthService
- {
- /// <summary>Authorization URL 생성 (프론트엔드 리다이렉트용)</summary>
- string GetAuthorizationUrl(string state, string redirectUri, string[] scopes);
- /// <summary>Authorization Code → Access Token + Refresh Token 교환</summary>
- Task<GoogleOAuthTokens?> ExchangeCodeAsync(string code, string redirectUri, string clientId, string clientSecret, CancellationToken ct);
- /// <summary>Refresh Token으로 Access Token 갱신</summary>
- Task<GoogleOAuthTokens?> RefreshTokenAsync(string refreshToken, CancellationToken ct);
- /// <summary>
- /// OAuth 토큰 revoke (앱 접근 권한 해제).
- /// 성공 시 true, 네트워크/Google 5xx 등으로 실패 시 false.
- /// access_token 또는 refresh_token 어느 쪽으로 호출해도 둘 다 무효화됨.
- /// </summary>
- Task<bool> RevokeTokenAsync(string token, CancellationToken ct);
- }
|