Initial commit: BARON SSO 샘플 (WebView OIDC PKCE 인증 라이브러리 + 데모 앱)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-16 10:10:37 +09:00
commit 3de67f0052
25 changed files with 1171 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
<Window x:Class="BaronSoftware.SSO.Sample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BaronSoftware.SSO.Sample"
mc:Ignorable="d"
Title="BARON SSO 웹뷰 인증 샘플" Height="560" Width="840">
<Grid Margin="16">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
Text="BARON SSO (Ory Hydra · OIDC Authorization Code + PKCE) 웹뷰 인증 데모"
FontSize="16" FontWeight="Bold" Margin="0,0,0,12"/>
<StackPanel Grid.Row="1" Orientation="Horizontal" Margin="0,0,0,12">
<Button x:Name="LoginButton" Content="웹뷰로 로그인" Width="140" Height="34"
Click="LoginButton_Click"/>
<Button x:Name="TokenLoginBuggon" Content="토큰 로그인" Width="150" Height="34"
Margin="8,0,0,0" Click="TokenLoginBuggon_Click"/>
<Button x:Name="LogoutButton" Content="로그아웃" Width="100" Height="34"
Margin="8,0,0,0" Click="LogoutButton_Click"/>
<Button x:Name="SettingsButton" Content="설정 변경" Width="90" Height="34"
Margin="8,0,0,0" Click="SettingsButton_Click"/>
</StackPanel>
<Border Grid.Row="2" BorderBrush="#DDDDDD" BorderThickness="1" CornerRadius="4">
<TextBox x:Name="OutputBox" IsReadOnly="True" BorderThickness="0" Padding="10"
FontFamily="Consolas" FontSize="13" TextWrapping="Wrap"
VerticalScrollBarVisibility="Auto"
Text="‘웹뷰로 로그인’ → 토큰 저장 → 다음 실행 시 ‘자동 로그인(갱신).&#x0a;&#x0a;[콘솔 사전 설정 2가지]&#x0a; 1) 리디렉션 URI 설정 → 인증 콜백 URL 에 추가:&#x0a; http://127.0.0.1:8421/baron-sample/auth/callback&#x0a; 2) 스코프 추가 → 'offline_access' (refresh_token 발급용, 자동 로그인 필수)"/>
</Border>
</Grid>
</Window>