会社の wsFederation POC に取り組んでいます。このソリューションは、MVC アプリと webapi サービスでも機能するはずです。新しい OWIN 認証ミドルウェアを使用して、MVC アプリで動作させる方法を見つけました。その時点で、SAML2 トークンを取得しています。
javascript で次のように認証ヘッダーに SAML トークンを渡し、webapi コントローラーからメソッドを呼び出す ajax 呼び出しを行いたいと思います。
var token = '@ViewBag.Token';
var request = {
url: 'https://localhost:44305/api/test/GetStrings',
cache: false,
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'bearer ' + token);
},
type: 'GET',
crossDomain: true,
success: function () {
alert('ok');
},
error: function () {
alert('ko');
}
};
$.ajax(request);
Firebug (または同等のもの) では、ヘッダーにトークンが十分に取り込まれていることがわかります。
サーバー側では、Thinktecture の Owin 拡張メソッドを使用して、トークンを取得して確認しようとしています。
app.UseSaml2BearerAuthentication(
new Uri("urn:relyingparty2"),
"3AA702552....643E27150591A9",
"http://localSTS")
;
ここで読んだように:http://leastprivilege.com/2013/10/31/adding-saml11-and-saml2-support-to-katanaowin/
しかし、何も起こらないようです。
このメソッドは、探していることを実行する必要があるように見えるため、メッセージハンドラーの追加を避けたい...
何か案が ?