Open棟梁Project - マイクロソフト系技術情報 Wiki
目次 †
概要 †
WIF:Windows Identity Foundation
- Windows Identity Foundation (WIF) は、クレームベース認証に対応のアプリケーションを構築するためのフレームワークです。
- このフレームワークは、WS-Trust プロトコルと WS-Federation プロトコルを抽象化し、セキュリティ トークン サービスと要求に対応したアプリケーションを構築するための API を開発者に提供します。
- アプリケーションでは、WIF を使用して、STSから発行されたトークンを処理し、RP(Web アプリケーションまたは Web サービス)でクレームベースの決定を下すことができます。
FedUtil? †
RPと STSとの間で信頼を簡単に確立できる。
準備 †
STS側の構築 †
- STS(ADFS)側の構築を完了させておく。
- STSのエンドポイントのFQDNとサーバ証明書のCN(Common Name)は一致させておく。
前提ソフトウェアをインストール †
RPで以下の前提ソフトウェアをインストールする。
- IIS
- ASP.NET 3.5 and ASP.NET 4.5
- .NET Framework 3.5 Features and Windows Identity Foundation 3.5 options.
SDKのダウンロードとインストール †
RPでSDKのダウンロードとインストールをする。
- WindowsIdentityFoundation?-SDK-4.0.msi ファイルを実行して、
Windows Identity Foundation SDK 4.0をデフォルトオプションでインストール。
STS側のエンドポイントの証明書を検証 †
STS側の認証連携を行うHTTPSのエンドポイントの証明書が
自己証明書の場合、RPから以下の手順を実施して検証できる。
- フェデレーション・メタデータを交換するSTSのHTTPSエンドポイントに
インターネット・エクスプローラーを使用してアクセスする。
- 証明書が自己証明書の場合、アドレスバーに証明書のエラーが表示されるのでこれをクリックする。
- [証明書は信頼できません]ダイアログ・ボックスで[証明書の表示]を押下。
- [証明書のインストール]ボタンを押下して以下のストアに証明書をインストールする。
- ストア:[ローカル コンピューター]の[信頼されたルート証明機関]
サンプルのクレームベース認証アプリケーションをIIS配下でホスト †
以下のサンプルを利用可能
FedUtil?.exeを実行 †
WIFのインストール・ディレクトリに移動してFedUtil?.exeを実行する。
- C:\Program Files (x86)\Windows Identity Foundation SDK\v4.0 folder.
- FedUtil?.exeファイルをダブル・クリックして実行する。
Webアプリケーション・プロジェクトを右クリックし、
[Add STS reference]を選択でもFedUtil?.exeを実行可能なもよう。
FedUtil?.exeで設定 †
Welcome画面 †
- [Application configuration location]テキスト・ボックス
Webアプリケーションのweb.configを設定する。
- [Application URI]テキスト・ボックス
WebアプリケーションのURL(仮想ディレクトリ)を設定する。
[Security Token Service]画面 †
- [Use an existing STS]オプション・ボタンを選択する。
- STS WS-Federation metadata document locationテキスト・ボックスに入力
e.g. : https://ADFSのFQDN名/federationmetadata/2007-06/federationmetadata.xml
[STS signing certificate chain validation error]画面 †
- 証明書が自己証明書の場合、
[Disable certificate chain validation]オプション・ボタンを選択する。
- 証明書を正規の認証局が発行した場合、
[Enable certificate chain validation]オプション・ボタンを選択する。
[Security token encryption]画面 †
- 暗号化が不要
[No encryption]オプション・ボタンを選択する。
- 暗号化が必要
[Encryption]オプション・ボタンを選択する。
[Offered claims]画面 †
- ADFS2.0 (STS) から提供される クレームの一覧が表示される。
- [Next]ボタンをクリック。
[Summary]画面 †
Summary 画面が表示されるので、内容を確認して、 Finish ボタンをクリック。
結果の確認 †
- web.config と FederationMetadata?.xml が作成(or 更新) される。
- web.config
- claimTypeRequired? 要素:要求するクレームの種類を変更できる。
- FederationMetadata?.xml
- Trust managemet に Schedule a task to perform daily WS-Federation metadata updatesの日時更新タクスが登録される。
参考 †
Netplanetes †
- [WIF] ADFS2.0 を使用する クレーム対応 Web アプリケーションを作成する - Netplanetes
サンプル †