반응형
1. 먼저, OAuth 2.0 공급자(Provider)에 등록하고, 클라이언트 ID 및 시크릿 키를 발급받아야 합니다. 이 과정은 각 공급자에서 제공하는 문서를 참조하여 진행합니다.
※OKTA인증을 사용하는경우는 아래의 사이트를 참고하세요.
https://www.okta.com/kr/identity-101/saml-vs-oauth/
2. OAuth 2.0 프로토콜을 구현하기 위해, Microsoft.Identity.Client NuGet 패키지를 설치합니다.
3. 앱 매니페스트 파일을 열고, 인증 공급자의 웹사이트 주소를 redirectURI로 등록합니다.
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<ApplicationManifest>
<RedirectUri>http://localhost</RedirectUri>
</ApplicationManifest>
</Application>
4. 코드 파일 (MainWindow.xaml.cs)을 열고, OAuth 2.0 인증을 구현합니다.
using Microsoft.Identity.Client;
public partial class MainWindow : Window
{
private const string ClientId = "<your-client-id>";
private const string Authority = "https://login.microsoftonline.com/common";
private const string Scopes = "<your-scopes-separated-by-space>";
public MainWindow()
{
InitializeComponent();
InitializeAsync();
}
private async void InitializeAsync()
{
var app = PublicClientApplicationBuilder.Create(ClientId)
.WithAuthority(Authority)
.Build();
var result = await app.AcquireTokenInteractive(Scopes)
.WithUseEmbeddedWebView(true)
.ExecuteAsync();
if (result != null)
{
// 인증 성공
// Access Token 사용을 위해 필요한 처리를 수행합니다.
}
else
{
// 인증 실패
}
}
}
위 코드는 Microsoft 계정을 사용하는 예시입니다. ClientId, Authority, Scopes 값을 알맞게 변경하여 다른 OAuth 2.0 공급자에서도 사용할 수 있습니다.
위와 같이 구현하면, OAuth 2.0 인증을 WPF 앱에 쉽게 구현할 수 있습니다.
반응형
'WPF' 카테고리의 다른 글
wpf로 rest api json 핸들링 하는방법에대한 설명 (0) | 2023.05.21 |
---|---|
WPF C# 을 자동테스트하는 방법에대해 알아봅시다 (0) | 2023.05.20 |
WPF에서 WebView2를 사용하는 방법 (0) | 2023.05.03 |
IE로 기동한 브라우져의 특정타이틀 페이지 종료시키기 (0) | 2016.07.20 |
TextBox 의 Enabled 설정시 배경색 지정문제 (0) | 2016.05.12 |