Skip to content

MS_WebAccountManagerAPI

nishi_74322014 edited this page Aug 4, 2026 · 1 revision

Web Account Manager API

概要

  • 複数のアカウント

    を対象とする、

    • Windows 10 / Windows Phone 10 の Platform SDK に含まれる
    • Active Directory Authentication Library(ADAL)の後継

    モジュール。

  • 面倒な認証の手続きを

    • Web Account Manager(サービス)
    • Web Account Manager Provider(ビルトインされたコンポーネント)

    に任せ、簡単な操作のみでアプリケーションを構築できる。

詳細

補足: WAM の意義は「OS にサインイン済みのアカウントを再利用できる」点にある。

  • アプリごとにブラウザを開いて再ログインさせる必要が無い(SSO)
  • トークンとリフレッシュ トークンを OS 側が保護して保持する
    アプリのプロセス内やファイルに置かないため、盗まれにくい
  • デバイスに紐づいたトークン(PRT: Primary Refresh Token)を使えるため、 条件付きアクセス の 「準拠済みデバイスのみ許可」といった条件を満たせる

補足(最新化・重要): 記述にある ADAL は 2022 年 12 月にサポート終了した。 WAM は「ADAL の後継」というより、 現在は MSAL のブローカー(認証ブローカー) として位置付けられている。

世代 使うもの
ADAL / WAM を直接呼ぶ(UWP の WebAuthenticationCoreManager
現在 MSAL を使い、ブローカー経由を有効化する

.NET のデスクトップ アプリでは、次のように書く。

var app = PublicClientApplicationBuilder.Create(clientId)
    .WithAuthority(AzureCloudInstance.AzurePublic, tenantId)
    .WithBroker(new BrokerOptions(BrokerOptions.OperatingSystems.Windows))
    .Build();

アプリが直接 WAM の API を叩く必要はなく、 MSAL が内部で WAM を呼ぶ。 新規実装では Microsoft.Identity.Client(MSAL.NET)を使うこと。

参考


Tags: 認証基盤

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally