WPFまたはWinFormsアプリケーションにログインを追加する
Auth0を使用すると、アプリケーションに手軽に認証を追加することができます。このガイドは、WPFやWinFormsアプリケーションにWPFまたはWinForms用のAuth0 SDKを使ってAuth0を統合し、認証の追加とユーザープロファイル情報の表示を行う方法について説明します。
このクイックスタートを使用するには、以下の手順に従います:
Auth0の無料アカウントにサインアップするか、Auth0にログインします。
統合したいWPFまたはWinFormsプロジェクトを用意します。または、ログインした後に、サンプルアプリケーションを表示してダウンロードすることもできます。
Auth0のサービスを利用するには、Auth0 Dashboadに設定済みのアプリケーションがある必要があります。Auth0アプリケーションは、開発中のプロジェクトに対してどのように認証が動作して欲しいかを構成する場所です。
アプリケーションを構成する
対話型のセレクターを使ってAuth0アプリケーションを新規作成するか、統合したいプロジェクトを表す既存のアプリケーションを選択します。Auth0のすべてのアプリケーションには英数字からなる一意のクライアントIDが割り当てられており、アプリケーションのコードがSDKを通じてAuth0 APIを呼び出す際に使用されます。
このクイックスタートを使って構成されたすべての設定は、Dashboardのアプリケーションを自動更新します。今後、アプリケーションの管理もDashboardで行えます。
完了済みの構成を見てみたい場合は、サンプルアプリケーションをご覧ください。
Callback URLを構成する
Callback URLとは、Auth0がユーザーを認証後にリダイレクトするアプリケーション内URLです。設定されていない場合、ユーザーはログイン後にアプリケーションに戻りません。
ログアウトURLを構成する
ログアウトURLとは、Auth0がユーザーをログアウト後にリダイレクトするアプリケーション内URLです。設定されていない場合、ユーザーはアプリケーションからログアウトできず、エラーを受け取ります。
WPFおよびWinFormsアプリケーションで、Auth0認証が手軽に実装できるように、Auth0はWPFとWinFormsのSDKを提供しています。
NuGetパッケージマネージャー([Tools(ツール)] -> [Library Package Manager(ライブラリーパッケージマネージャー)] -> [Package Manager Console(パッケージマネージャーコンソール)]) を使用して、WPFまたはWindows Formsアプリケーションのどちらをビルドするかに応じて、Auth0.OidcClient.WPF
またはAuth0.OidcClient.WinForms
パッケージをインストールします。
NuGetパッケージマネージャーコンソール(Install-Package
)やdotnet
CLI(dotnet add
)を代わりに使用することもできます。
Install-Package Auth0.OidcClient.WPF
Install-Package Auth0.OidcClient.WinForms
Was this helpful?
dotnet add Auth0.OidcClient.WPF
dotnet add Auth0.OidcClient.WinForms
Was this helpful?
Auth0をアプリケーションに統合するには、Auth0ドメインとクライアントIDを含むAuth0ClientOptionsのインスタンスを渡して、Auth0Clientクラスをインスタンス化します。
SDKは初期設定で、.NET6以降にはWebView2を利用し、.NET6より前のバージョンを使用するアプリケーションは古いWebViewに依存します。
checkpoint.header
Auth0Client
が適切にインスタンス化されました。アプリケーションを実行して次の点を確認します:
Auth0Client
が正しくインスタンス化されている。アプリケーションがAuth0に関連したエラーを投入していない。
Auth0アプリケーションとAuth0 SDKの構成が完了したら、プロジェクトのためにログインをセットアップする必要があります。これを実現するには、SDKのLoginAsync()
メソッドを使用して、ユーザーをAuth0のユニバーサルログインページにリダイレクトするログインボタンを作成します。ユーザーが認証に成功すると、このクイックスタートで前にセットアップしたCallback URLへリダイレクトされます。
エラーがなければ、LoginAsync()
が返すLoginResult
でUser
、IdentityToken
、AccessToken
、RefreshToken
にアクセスすることができます。
checkpoint.header
ユーザー名とパスワードを使ってログインやサインアップができるようになりました。
ログインボタンをクリックして次の点を確認します:
WPFまたはWinFormsアプリケーションによってAuth0ユニバーサルログインページにリダイレクトされる。
ログインまたはサインアップできる。
Auth0によってアプリケーションにリダイレクトされる。
プロジェクトにログインしたユーザーには、ログアウトする方法も必要です。SDKのLogoutAsync()
メソッドを使用してログアウトボタンを作成します。ユーザーはログアウトすると、Auth0ログアウトエンドポイントにリダイレクトされてから、即座に、このクイックスタートで先ほどセットアップしたログアウトURLにリダイレクトで戻されます。
checkpoint.header
アプリケーションを実行してログアウトボタンをクリックし、次の点を確認します:
WPFまたはWinFormsアプリケーションによって、アプリケーションの設定で[Allowed Logout URLs(許可されているログアウトURL)]の1つに指定したアドレスへリダイレクトされる。
アプリケーションにログインしていない。
ユーザーがログインやログアウトできるようになったら、認証済のユーザーに関連付けられたプロファイル情報を取得できるようにしたいと考えるはずです。たとえば、ログインしたユーザーの名前やプロフィール写真をプロジェクトに表示したいかもしれません。
WPF・WinForms用のAuth0 SDKでは、LoginResult.User
プロパティを通じてユーザー情報を提供します。
checkpoint.header
ログイン後にユーザーの名前やその他のユーザープロパティが表示されることを確認してください。
Next Steps
Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application.
This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out:
- Auth0 Dashboard - Learn how to configure and manage your Auth0 tenant and applications
- auth0-oidc-client-net SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
Sign up for an or to your existing account to integrate directly with your own tenant.