2016-02-09 64 views
12

SAML 2.0認証をASP.Netコアソリューションに追加しようとしています。私はその件に関する文書を見つけることができないので、どこから始めるべきかはわかりません。そこにはおそらくドキュメンテーションがありますが、私は3日間を専門家になるために費やしたくありません。ASP.NetコアSAML認証

私はASP.Net Coreが古いOWINアセンブリ/名前空間から何かを変えていることがわかりました。 Kentor.AuthServicesのようなSAML 2.0の実装を簡素化するサードパーティのライブラリがあります。

これをASP.Net 5 RC 1/ASP.Net Coreと組み合わせる方法がわかりません。たとえば、SQLでAspNet *テーブルを使用します。

ASP.Net 5 RC 1には、認証(クライアント)を実装するためのライブラリがいくつか付属しています。例えば

:これらの実装

Startup.csに単純な拡張メソッドを呼び出すの問題です:

app.UseIdentity() 
.UseFacebookAuthentication(new FacebookOptions 
{ 
    AppId = "ID", 
    AppSecret = "KEY" 
}) 
.UseGoogleAuthentication(new GoogleOptions 
{ 
    ClientId = "ID", 
    ClientSecret = "SECRET" 
}) 
.UseTwitterAuthentication(new TwitterOptions 
{ 
    ConsumerKey = "KEY", 
    ConsumerSecret = "SECRET" 
}); 

ことは、ASP.Netのサンプルプロジェクトが自動的にログイン/管理アカウントのソーシャルボタンを示し完了すると:バックエンドのコードで

Social buttons

認証プロバイダはvar otherLogins = _signInManager.GetExternalAuthenticationSchemes().Where(auth => userLogins.All(ul => auth.AuthenticationScheme != ul.LoginProvider)).ToList();を使用して取得しています。これは、認証プロバイダーが_signInManager.GetExternalAuthenticationSchemes()を呼び出すことによって利用可能になるどこかに登録されていることを意味します。

ASP.Net 5 RC1/ASP.NetコアでSAML 2.0認証を実装するにはどうすればよいですか?

+0

https://github.com/IdentityServer/IdentityServer4をご覧ください。 SAMLはありませんが、いくつかの手がかりがありますか? – nzpcmad

+0

aspnetコアアプリケーションにSAML2を実装できましたか?あなたがした場合の例が大好きです... – Gillardo

+0

いいえ、ごめんなさい。実装をスキップし、別の解決策を見つけました。 –

答えて

5

私が知る限り、ASP.NET CoreのSAML2実装はありません。私はKentor.AuthServices用のASP.NETコアミドルウェアを作成するつもりです(私はメンテナーです)が、まだ計画しています。

ASP.NETコアミドルウェアのプロトタイプがhttps://github.com/KentorIT/authservices/pull/489になりました。テストが追加されたときに公式リリースに含まれます。

このようなミドルウェアはASP.NETコアセキュリティモデルと互換性がありますが、.NETコアではなく完全な.NET Framework上でのみ実行されることを理解することも重要です。理由は、SignedXmlとSystem.IdentityModelのSAML2サポートが.NETコアでまだ使用できないためです。

+0

Kentor.AuthServicesを作成するETAは、ASP.Net Coreをサポートしていますか? –

+0

@TeddHansen残念ながら、時間枠では何も言えません。私が自由な時間にやっているのか、有料の顧客が営業時間内にそれをやり遂げることができるのかどうかは、非常に重要です。 –

+0

誰にとってもうまくいかないGPL3ライセンス。 – m0s