जबकि इस सुविधा आज Azure AD में उपलब्ध नहीं है, तो आप इस परिदृश्य को लागू करता है, तो आप मिश्रण में Auth0 जोड़ सकते हैं। Auth0 आपके अनुप्रयोगों के लिए multi-tenant Azure AD applications as a connection का समर्थन करता है और using the rules engine आप Azure AD किरायेदार के आधार पर किसी विशिष्ट एप्लिकेशन तक पहुंच प्रतिबंधित करने के लिए नियम लिख सकते हैं।
यहाँ का एक उदाहरण है ऐसे हैं कि किसी नियम (जो, Auth0 प्रमाणीकरण पाइप लाइन में चलाता है के बाद उपयोगकर्ता Azure AD में और उपयोगकर्ता से पहले प्रमाणीकृत आपके आवेदन का उपयोग कर सकते):
function (user, context, callback) {
if(context.clientName !== 'NameOfTheAppWithWhiteList'){
var whitelist = [ 'tenantId1', 'tenantId2' ]; //authorized Azure AD tenants.
var userHasAccess = whitelist.some(
function (tenantId) {
return tenantId === user.tenantid;
});
if (!userHasAccess) {
return callback(new UnauthorizedError('Access denied.'));
}
}
callback(null, user, context);
}
अस्वीकरण: मैं Auth0 के लिए काम करते हैं।
स्रोत
2015-03-23 09:55:34
हाय दान, उत्तर के लिए धन्यवाद। मैं अपने कोड पर यह सत्यापन कर सकता था लेकिन उपयोगकर्ता अभी भी मेरे किरायेदार पर मेरे ऐप के उपयोगकर्ता के रूप में पंजीकरण कर सकता था। मैंने इसका परीक्षण किया। क्या मेरे कोड पर उपयोगकर्ता की सहमति से बचने का कोई तरीका है? मैं इस नमूना को संदर्भ के रूप में ले रहा हूं: https: //github.com/AzureADSamples/WebApp-MultiTenant-OpenIdConnect-DotNet। एप्लिकेशन कॉन्फ़िगरेशन पेज –
पर एक विकल्प होना बहुत अच्छा होगा यह सही है। एक नई सुविधा के बिना हम उपयोगकर्ताओं को आपके बहु-किरायेदार ऐप में साइन इन करने की सहमति नहीं दे सकते हैं। आपके ऐप में उपयोगकर्ता को अधिकृत करने के हिस्से के रूप में पहुंच को नियंत्रित करने की आवश्यकता होगी। मैं Rodrigo यहाँ एक सुविधा अनुरोध जोड़ने के लिए सुनिश्चित कर दूंगा। प्रतिक्रिया के लिए धन्यवाद। –
बढ़िया! धन्यवाद दान! –