メインコンテンツにスキップ

dotNETデスクトップアプリ

Dotnetデスクトップアプリの例 for Casdoor。

例の実行方法

前提条件

初期化

初期化には5つのパラメータが必要で、すべて文字列型です:

名前説明ファイル
DomainあなたのCasdoorサーバーのホスト/ドメインCasdoorVariables.cs
ClientIdあなたのCasdoorアプリケーションのクライアントIDCasdoorVariables.cs
AppNameあなたのCasdoorアプリケーションの名前CasdoorVariables.cs
CallbackUrlあなたのCasdoorアプリケーションのコールバックURLのパス。 提供されていない場合、casdoor://callbackになりますCasdoorVariables.cs
ClientSecretあなたのCasdoorアプリケーションのクライアントシークレットCasdoorVariables.cs

これらのパラメータを設定しない場合、プロジェクトはデフォルトでCasdoorオンラインデモをCasdoorサーバーとして、CasnodeをCasdoorアプリケーションとして使用します。

実行中

Visual Studio

  1. casdoor-dotnet-desktop-example.slnを開く
  2. Ctrl + F5を押して開始

コマンドライン

  1. cd src/DesktopApp
  2. dotnet run

プレビュー

dotNETデスクトップアプリケーションを実行した後、デスクトップに新しいウィンドウが表示されます。インデックス

Casdoor Loginボタンをクリックすると、デスクトップにログインウィンドウが表示されます。 ログイン

正常にログインすると、デスクトップにユーザープロファイルウィンドウが表示され、あなたのユーザー名が表示されます。ユーザープロファイル

以下のGIF画像で、プロセス全体をプレビューできます。プレビューgif

統合方法

ログインウィンドウを開く

var login = new Login();
// Triggered when login succeeds, you will receive an auth code in the event handler
login.CodeReceived += Login_CodeReceived;
login.ShowDialog();

認証コードを使用してユーザー情報を取得する

public async Task<string?> RequestToken(string clientId, string clientSecret, string code)
{
var body = new
{
grant_type = "authorization_code",
client_id = clientId,
client_secret = clientSecret,
code
};

var req = new RestRequest(_requestTokenUrl).AddJsonBody(body);
var token = await _client.PostAsync<TokenDto>(req);

return token?.AccessToken;
}

public async Task<UserDto?> GetUserInfo(string token)
{
var req = new RestRequest(_getUserInfoUrl).AddQueryParameter("accessToken", token);

return await _client.GetAsync<UserDto>(req);
}

...

var token = await _casdoorApi.RequestToken(
CasdoorVariables.ClientId,
CasdoorVariables.ClientSecret,
authCode
);

var user = await _casdoorApi.GetUserInfo(token);