run static method
진단 실행
config: KAuth 설정
verbose: 상세 정보 포함 여부
Implementation
static Future<DiagnosticResult> run(
KAuthConfig config, {
bool verbose = false,
}) async {
final issues = <DiagnosticIssue>[];
// 플랫폼 확인
final platform = _getPlatform();
// 기본 설정 검증
if (config.configuredProviders.isEmpty) {
issues.add(const DiagnosticIssue(
severity: DiagnosticSeverity.error,
message: 'Provider가 하나도 설정되지 않았습니다',
solution: 'KAuthConfig에 최소 하나의 Provider를 설정하세요',
));
}
// 카카오 검증
if (config.kakao != null) {
issues.addAll(await _checkKakao(config.kakao!, platform, verbose));
}
// 네이버 검증
if (config.naver != null) {
issues.addAll(await _checkNaver(config.naver!, platform, verbose));
}
// 구글 검증
if (config.google != null) {
issues.addAll(await _checkGoogle(config.google!, platform, verbose));
}
// 애플 검증
if (config.apple != null) {
issues.addAll(await _checkApple(config.apple!, platform, verbose));
}
return DiagnosticResult(
issues: issues,
timestamp: DateTime.now(),
platform: platform,
);
}