5

मेरे पास एक एप्लिकेशन है जिसे हम 'ऐप्पल' नाम दें जो Azure AD के साथ पंजीकृत है, जिसमें Azure Management API एप्लिकेशन पर प्रतिनिधि अधिकार हैं। जब इस एप्लिकेशन से अनुरोध किया गया तो यह अजीब संसाधन पूर्व बनाता है। भंडारण खाता स्वचालित रूप से और यह ठीक काम करता है।अनुप्रयोगों के बीच Azure AD प्रमाणीकरण

मेरे पास एक और एप्लीकेशन है जो एमवीसी एप्लीकेशन है और यह भी उसी एडी किरायेदार के साथ पंजीकृत है। दूसरा एप्लिकेशन एक्सेस टोकन को पुनर्प्राप्त करने के लिए निम्न कोड का उपयोग करता है:

var clientCredentials = new ClientCredential(ConfigurationManager.AppSettings["AD_ClientID"], ConfigurationManager.AppSettings["AD_Client_AccessKey"]); 
var authContext = new AuthenticationContext(string.Format(ConfigurationManager.AppSettings["AD_Tenant_Login_Url"], ConfigurationManager.AppSettings["AD_Tenant_Id"]));    
var result = authContext.AcquireTokenAsync(ConfigurationManager.AppSettings["AD_Resource"], clientCredentials); 
if (result == null) 
{ 
    throw new InvalidOperationException("Could not get the token"); 
} 
return result.Result; 

परिणाम विभिन्न गुणों वाले एक एक्सेस टोकन है। अब दूसरा एप्लिकेशन संसाधन संसाधन सेब तक पहुंच के साथ पहुंच टोकन को पुनः प्राप्त करता है, जो उसके बाद प्राधिकरण शीर्षलेख में ऐप्पल एप्लिकेशन को पास करता है।

Authorization:bearer TokenString 

ऐप्पल एप्लिकेशन में नियंत्रक को प्राधिकृत विशेषता शामिल है। आवेदन निम्न कोड के साथ OAuth आवेदन के साथ Owin साथ कॉन्फ़िगर किया गया है

public void ConfigureAuth(IAppBuilder app) 
    { 
     app.UseWindowsAzureActiveDirectoryBearerAuthentication(
      new WindowsAzureActiveDirectoryBearerAuthenticationOptions 
      { 
       Tenant = ConfigurationManager.AppSettings["ida:Tenant"], 
       TokenValidationParameters = new TokenValidationParameters 
       { 

        ValidAudience = ConfigurationManager.AppSettings["ida:Audience"] 
       }, 
      }); 
    } 

कृपया ध्यान दें कि पहुँच टोकन का अपना AppId और गुप्त कुंजी का उपयोग कर दूसरी आवेदन से लिया गया है; जबकि अन्य (ऐप्पल) एप्लिकेशन टोकन को सत्यापित करने के लिए अपने स्वयं के AppId और गुप्त कुंजी का उपयोग करता है।

तो मेरी समस्या है, सेब आवेदन हमेशा 401 रिटर्न कोड को अधिकृत नहीं

+0

जबकि मुझे कोई जवाब नहीं मिल रहा है, क्या मुझे टैग बदलना चाहिए, सलाह देना चाहिए? –

+0

मैं इस धागे का पालन कर रहा हूं [यहां] (https://social.msdn.microsoft.com/Forums/azure/en-US/af1f1ddc-649b-4b35-9e16-ced582380e6c/azure-ad- प्रमाणीकरण-between-plplications फोरम = विंडोजएज़ूरैड), अगर आपको कोई समस्या है तो कृपया मुझे बताएं। –

+0

@ फीई जू, मुझे फिर से पकड़ने के लिए धन्यवाद ... मैंने आपके उत्तर का जवाब दिया है ... –

उत्तर

0
ऊपर करने के लिए

, सवाल, जवाब था, दूसरे में टोकन के सत्यापन के दौरान संसाधन आईडी (टोकन अनुरोध के दौरान) और दर्शक आईडी (आवेदन) मिलान नहीं कर रहे थे। उन्हें वही हल करने की समस्या को हल करना।

तो मैं एक और मुद्दा है, जो मैं here

ऐसा लगता है, तो मैं नए Azure पोर्टल (जो पूर्वावलोकन संस्करण में अब भी है) के साथ काम का वर्णन किया है में भाग, AD tokenJWT टोकन में "Roles" क्षेत्र शामिल नहीं है। यदि मैं ऐप्स को कॉन्फ़िगर करने के लिए पुराने पोर्टल में एक ही प्रक्रिया का पालन करता हूं, तो 0 में "Roles" फ़ील्ड JWT टोकन और परिदृश्य अपेक्षित रूप से निष्पादित करता है।

मुझे कम से कम पूर्वावलोकन सुविधाओं के लिए Azure नए पोर्टल का उपयोग करना चाहिए!

संबंधित मुद्दे