.NET SDK の使用
目次
casso11jp
目次
アサーティング パーティでのプログラム フロー
アサーティング パーティでの
Single Sign-On
フェデレーションで、.NET アプリケーションはユーザ ID 情報を Single Sign-On
フェデレーションに提供できます。アサーティング パーティでの Single Sign-On
フェデレーションによるプログラム フローは以下のように進行します。- .NET アプリケーションは、.NET SDK を呼び出し ID 情報を有するオープン形式 Cookie を生成します。
- .NET SDK は暗号化された Cookie を返します。Cookie を暗号化するために使用されるキーは、Single Sign-Onフェデレーションと帯域外のアプリケーション間で通信される共有秘密キーから派生します。
- .NET アプリケーションはアサーティング パーティのSingle Sign-Onフェデレーションに Cookie を送信します。
- Single Sign-Onフェデレーションは Cookie を受信し復号化します。
- Single Sign-Onフェデレーションは Cookie からユーザ ID 情報を抽出します。
- オプションで、Single Sign-Onフェデレーションは属性を更新または追加することにより Cookie を変更できます。
- Single Sign-Onフェデレーションは[SAML アサーション]にユーザ ID 情報を挿入します。
以下の図は、アサーティング パーティでのプログラム フローを示しています。
依存パーティでのプログラム フロー
依存パーティでの
Single Sign-On
フェデレーションで、.NET アプリケーションは Single Sign-On
フェデレーションからユーザ情報を受信できます。依存パーティでの Single Sign-On
フェデレーションによるプログラム フローは以下のように進行します。- Single Sign-Onフェデレーションはリクエスト処理中に SAML アサーションを受信します。
- Single Sign-Onフェデレーションは最新のユーザ情報で Cookie を作成します。
- Single Sign-Onフェデレーションは FIPS に準拠しているアルゴリズムを使用して、Cookie を暗号化します。Cookie を暗号化するために使用されるキーは、Single Sign-Onフェデレーションと帯域外のアプリケーション間で通信される共有秘密キーから派生します。
- Single Sign-Onフェデレーションは暗号化されたオープン形式 Cookie を .NET アプリケーションに送信します。
- .NET アプリケーションは、.NET SDK を呼び出して Cookie の復号および処理を行います。
- .NET アプリケーションは、アサーション属性および主要属性に対する値を取得します。
- .NET アプリケーションは、スキュー時間を指定するしないにかかわらず、isExpired () メソッドを呼び出すことで Cookie が有効期限切れかどうかを判断できます。このメソッドは、オプションのスキュー時間に追加して、Cookie 上の有効期限スタンプを現在の GMT 時間と比較します。GMT 時間のほうが大きい場合、Cookie は期限切れです。Cookie の有効期限スタンプは、Cookie が作成されるときに setTimeToLive () メソッドを使用して指定されます。
- .NET アプリケーションは、AuthnContext および UserConsent の URI を設定することもできます。
以下の図は、依存パーティでのプログラム フローを示しています。
Single Sign-On
フェデレーション .NET SDK のログ記録.NET SDK ロガーが有効な場合、ロガーは標準出力ストリームにメッセージを書き込みます。ロギングは、デフォルトでは無効になっています。
Single Sign-On
フェデレーション .NET SDK のログ記録を有効にする方法- Logger.xml ファイルを.NET SDK インストール ディレクトリ\config から .NET SDK DLL the \bin フォルダにコピーします。
- Logger.xml で EnableLogging パラメータを yes に設定します。
ロギングが有効になります。
プログラミングの例
以下のコード フラグメントは、オープン形式 Cookie の作成方法を示しています。
// カスタムにバインドされる、インターフェース タイプ IFederationOpenIdentity のオブジェクト参照を取得します // IFederationOpenIdentity インターフェースの実装。// AES128/CBC/PKCS5Padding は唯一サポートされた暗号変換文字列です。
IFederationOpenIdentity openID = IdentityFactory.GetInstance("AES128/CBC/PKCS5Padding", UseHMACFlag);
// Cookie を作成するのに必要なパラメータを初期化します。
openID.InitCookieInfo(Domain, CookieZone, CookieName, Password);
// ユーザ属性を設定します。
openID.LoginID = txtLoginID.Text;
// オープン形式 Cookie を作成し、レスポンス オブジェクトへそれを設定します。
openID.CreateCookie(HttpResponse);
以下のコード フラグメントは、オープン形式 Cookie を消費する方法を示しています。
// カスタムにバインドされる、インターフェース タイプ IFederationOpenIdentity のオブジェクト参照を取得します // IFederationOpenIdentity インターフェースの実装。// AES128/CBC/PKCS5Padding は唯一サポートされた暗号変換文字列です。
IFederationOpenIdentity openID = IdentityFactory.GetInstance("AES128/CBC/PKCS5Padding", UseHMACFlag);
// Cookie を抽出するために必要なパラメータを初期化します。
openID.InitCookieInfo(Domain, CookieZone, CookieName, Password);
// HttpRequest から Cookie を抽出して復号化し、Hashtable に属性を保存します。
openID.ExtractCookie(HttpRequest);
// いくつかの属性を取得します。
String id = openID.LoginID;String nid = openID.NameID;
.NET SDK サンプル アプリケーション
.NET テスト アプリケーションは、オープン形式 Cookie を生成し、.NET SDK を使用して、それを消費します。テスト アプリケーションは多くの方法で展開できます。推奨される 1 つの方法を以下に示します。
注:
IIS Web Server が ASP.NET コンテンツを許可するように設定されていることを確認します。.NET SDK テスト アプリケーションを展開する方法
- フォルダ(この例では TestApplication)を作成します。
- dotNet_SDK_home\testapp から TestApplication フォルダに以下のファイルをコピーします。
- OpenCookieConsumer.aspx.cs
- OpenCookieConsumer.aspx
- OpenCookieConsumetUseHMAC.aspx.cs
- OpenCookieConsumetUseHMAC.aspx
- OpenCookieGenerator.aspx.cs
- OpenCookieGenerator.aspx
- web.config
- TestApplication ディレクトリで bin フォルダを作成します。
- dotNet_SDK_home\bin から TestApplication\bin に CA.Federation.FedIdentitySdk.dll をコピーします。
- 編集する web.config ファイルを開きます。<appSettings> セクションで、パスワード、ゾーン、および名前のキーを変更します。
- パスワードは暗号化キーを引き出すために使用される共有秘密キーです
- ゾーンは Cookie ゾーンです。
- 名前は Cookie 名です。生成された Cookie の最終名にはゾーンおよび名前が含まれます。
- インターネット インフォメーション サービス マネージャに移動します。
- Web サイトを右クリックします。
- Web サイトの説明を入力します。
- Web サイトに TCP ポート(たとえば 100)を割り当てます。
- Web サイト ホーム ディレクトリ(すなわち、テスト アプリケーション ディレクトリの場所)へのパスを入力するか参照します。
- [Web サイトのアクセス許可]ダイアログ ボックスで、Read および Run スクリプト(ASP など)のオプションを選択します。
- [完了]を選択します。
- IIS を再起動します。
- .NET SDK テスト アプリケーションのオープン形式 Cookie 作成ページにアクセスします。
- ログイン ID を入力します。
- [Go]をクリックします。システムが、[.NET SDK テスト アプリケーション オープン形式 Cookie の消費]ページを表示します。OpenCookieConsumer.aspx ページに Cookie のコンテンツが表示されます。この場合、Cookie 内の属性は ログイン ID のみです。
- .NET SDK テスト アプリケーションのオープン形式 Cookie の使用ページにアクセスします。そこで、オープン形式 Cookie を復号し、Cookie に含まれる主要属性およびアサーション属性を表示します。