2016-02-09 25 views
12

मैं एएसपी.Net कोर समाधान में SAML 2.0 प्रमाणीकरण जोड़ने की कोशिश कर रहा हूं। मुझे इस विषय पर कोई दस्तावेज नहीं मिल रहा है, इसलिए मुझे यकीन है कि कहां से शुरू करना है। वहां शायद दस्तावेज हैं, लेकिन मैं इस पर एक विशेषज्ञ बनने के लिए 3 दिन बिताना नहीं चाहता हूं।एएसपी.Net कोर SAML प्रमाणीकरण

जो मैं देख सकता हूं उससे एएसपी.Net कोर पुराने ओविन असेंबली/नेमस्पेस से कुछ बदल गया है। SAML 2.0 कार्यान्वयन को सरल बनाने के लिए तृतीय पक्ष पुस्तकालय हैं जैसे Kentor.AuthServices

मुझे यकीन है कि एएसपी.Net 5 आरसी 1/एएसपी.Net कोर के साथ इसे कैसे जोड़ना है। उदाहरण के लिए एसक्यूएल में एस्पनेट * टेबल का उपयोग करना।

एएसपी.Net 5 आरसी 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() पर कॉल करके उपलब्ध कराते हैं।

मैं एएसपी.Net 5 आरसी 1/एएसपी.Net कोर में SAML 2.0 प्रमाणीकरण को कैसे कार्यान्वित कर सकता हूं?

+0

https://github.com/IdentityServer/IdentityServer4 पर एक नज़र डालें। कोई SAML लेकिन शायद कुछ सुराग? – nzpcmad

+0

क्या आपने अपने एम्पनेट कोर एप्लिकेशन में SAML2 को लागू करने का प्रबंधन किया था? अगर आपने किया तो एक उदाहरण से प्यार होगा ... – Gillardo

+0

नहीं, क्षमा करें। इसे कार्यान्वित किया गया और एक और समाधान मिला। –

उत्तर

5

जहां तक ​​मुझे पता है, एएसपी.नेट कोर के लिए कोई SAML2 कार्यान्वयन नहीं है। मैं केंटोर के लिए एएसपी.NET कोर मिडलवेयर बनाने की योजना बना रहा हूं। ऑथ सर्विसेज (मैं रखरखावकर्ता हूं), लेकिन यह अभी तक अभी तक योजना है।

अब https://github.com/KentorIT/authservices/pull/489 पर एएसपी.NET कोर मिडलवेयर का एक कामकाजी प्रोटोटाइप है। परीक्षणों को जोड़ा जाने पर इसे आधिकारिक रिलीज में शामिल किया जाएगा।

यह जानना भी महत्वपूर्ण है कि ऐसा मध्यवर्ती एएसपी.NET कोर सुरक्षा मॉडल के साथ संगत होगा, यह केवल पूर्ण .NET Framework पर चलेंगे, न कि .NET कोर पर। कारण यह है कि System.IdentityModel में SignedXml और SAML2 समर्थन .NET कोर में अभी तक उपलब्ध नहीं है।

+0

Kentor.AuthServices बनाने पर कोई भी ईटीए ASP.Net कोर का समर्थन करता है? –

+0

@TeddHansen दुर्भाग्य से समय सीमा पर कुछ भी नहीं कह सकता है। अगर मैं इसे अपने खाली समय में करूँगा या मुझे भुगतान करने वाला ग्राहक मिल जाएगा तो मैं बहुत अधिक निर्भर करता हूं ताकि मैं इसे कार्यालय के घंटों के दौरान कर सकूं। –

+0

जीपीएल 3 लाइसेंस जो हर किसी के लिए काम नहीं करेगा। – m0s