IBM 연동형 vLLM 인증 실패 원인 수정
Some checks failed
Release Gate / gate (push) Has been cancelled

IBM Cloud 계열 vLLM 연결에서 등록 모델 인증 방식이 Bearer와 CP4D만 지원하던 문제를 점검하고, IBM IAM 토큰 교환 경로를 추가했습니다.

- RegisteredModel/AuthType에 ibm_iam 경로를 반영했습니다.

- IbmIamTokenService를 추가해 API 키를 IAM access token으로 교환한 뒤 Bearer 헤더로 적용하도록 했습니다.

- 모델 등록 다이얼로그, 설정 ViewModel, AX Agent 오버레이 모델 목록에도 IBM IAM 표시를 추가했습니다.

- README.md와 docs/DEVELOPMENT.md에 2026-04-06 14:06 (KST) 기준 이력을 반영했습니다.

검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
2026-04-06 15:02:42 +09:00
parent 3feb1f0be4
commit 817fc94f41
8 changed files with 148 additions and 8 deletions

View File

@@ -15,7 +15,7 @@ internal sealed class ModelRegistrationDialog : Window
private readonly TextBox _apiKeyBox;
private readonly CheckBox _allowInsecureTlsCheck;
// CP4D 인증 필드
// IBM/CP4D 인증 필드
private readonly ComboBox _authTypeBox;
private readonly StackPanel _cp4dPanel;
private readonly TextBox _cp4dUrlBox;
@@ -271,10 +271,17 @@ internal sealed class ModelRegistrationDialog : Window
BorderBrush = borderBrush, BorderThickness = new Thickness(1),
};
var bearerItem = new ComboBoxItem { Content = "Bearer 토큰 (API 키)", Tag = "bearer" };
var ibmIamItem = new ComboBoxItem { Content = "IBM IAM (토큰 교환)", Tag = "ibm_iam" };
var cp4dItem = new ComboBoxItem { Content = "CP4D (IBM Cloud Pak for Data)", Tag = "cp4d" };
_authTypeBox.Items.Add(bearerItem);
_authTypeBox.Items.Add(ibmIamItem);
_authTypeBox.Items.Add(cp4dItem);
_authTypeBox.SelectedItem = existingAuthType == "cp4d" ? cp4dItem : bearerItem;
_authTypeBox.SelectedItem = existingAuthType switch
{
"cp4d" => cp4dItem,
"ibm_iam" => ibmIamItem,
_ => bearerItem,
};
stack.Children.Add(new Border { CornerRadius = new CornerRadius(8), ClipToBounds = true, Child = _authTypeBox });
// ── Bearer 인증: API 키 입력 ────────────────────────────────────────