इसके माध्यम से साझा किया गया


जेनेरिक OAuth प्रदाता के साथ एकल साइन-ऑन कॉन्फ़िगर करें

Copilot Studio 2.0 संगत प्रमाणीकरण प्रदाताओं के साथ एकल साइन-ऑन (SSO) का समर्थन करता है। OAuth SSO आपके वेबसाइट पर एजेंटों को ग्राहकों को साइन इन करने की अनुमति देता है, यदि वे उस पेज या ऐप पर लॉग इन करते हैं जहां एजेंट तैनात है।

पूर्वावश्यकताएँ

जेनेरिक OAuth प्रदाता SSO प्रवाह का समर्थन करने वाला कस्टम कैनवास बनाएं या उसका उपयोग करें

जब प्रमाणीकरण विषय किसी जेनेरिक 2.0 प्रदाता से जुड़े एजेंटों में ट्रिगर होता है, तो एक सुरक्षित URL युक्त संदेश भेजता है, जिसका उपयोग उपयोगकर्ता के एक्सेस टोकन को पोस्ट करने के लिए किया जाता है। OAuth Copilot Studio

कस्टम कैनवास या वह पृष्ठ जहाँ कैनवास एम्बेड किया गया है, उसे निम्नलिखित पैटर्न लागू करना चाहिए:

  1. अपनी पसंदीदा विधि का उपयोग करके अपने OAuth 2.0 प्रमाणीकरण प्रदाता से साइन-इन किए गए उपयोगकर्ता के लिए एक्सेस टोकन प्राप्त करें।

  2. Copilot Studioसे आने वाले संदेश को रोकें, और सुरक्षित URL निकालें।

  3. सुरक्षित URL पर पहुँच टोकन पोस्ट करें.

सुरक्षित URL निकालें और टोकन पोस्ट करें

कस्टम कैनवास एक मिडलवेयर अवधारणा का उपयोग करके आने वाले संदेशों को रोकता है, जो कि Copilot Studio से संदेश प्राप्त करने के संदर्भ में चलने वाला कोड है।

साइन-इन अनुरोधों का जवाब देने के लिए, कस्टम कैनवास को ऐसे अनुलग्नकों वाले संदेशों को इंटरसेप्ट करने की आवश्यकता होती है, जिनका सामग्री प्रकार application/vnd.microsoft.card.oauth हो. OAuthCard अनुलग्नकों में content.tokenPostResource.sasUrl गुण होता है, जिससे सुरक्षित URL निकाला जा सकता है। अंत में, कस्टम कैनवास को उपयोगकर्ता के एक्सेस टोकन को सुरक्षित URL पर पोस्ट करना चाहिए।

निम्नलिखित जावास्क्रिप्ट कोड मिडलवेयर कोड का एक उदाहरण है जो सुरक्षित URL निकालता है और टोकन पोस्ट करता है। यदि पोस्ट सफल होता है, तो मिडलवेयर false लौटाता है। यदि पोस्ट असफल है, या यदि गतिविधि में application/vnd.microsoft.card.oauth गुण नहीं है, तो यह next(…args) लौटाता है।

const activityMiddleware = () => next => (...args) => {
  if (args[0].activity.attachments?.[0]?.contentType === 'application/vnd.microsoft.card.oauth') {
    var postEndpoint = args[0].activity.attachments?.[0].content.tokenPostResource.sasUrl;

    // Perform an HTTP POST to the secure URL with the body of:
    // {
    //     "token": <user_token> 
    // } 

    if(success)
       return false;
    else
       return next(...args);
  } else {
    return next(...args);
  }
};

पूर्ण नमूना कोड

कस्टम कैनवास या ऐप का कार्यान्वयन जो साइन-इन किए गए उपयोगकर्ता के लिए टोकन प्राप्त करता है, और टोकन को Copilot Studio पर पोस्ट करता है, आपके प्रमाणीकरण प्रदाता के आधार पर भिन्न होता है। अधिक जानकारी के लिए, साइन-इन प्रवाह और एक्सेस टोकन प्राप्त करने के बारे में अधिक विवरण के लिए अपने प्रमाणीकरण प्रदाता का दस्तावेज़ देखें। OKTA का उपयोग करने वाले संदर्भ नमूने के लिए, देखें OKTA के साथ तृतीय पक्ष SSO.

टोकन का उपयोग Copilot Studio

सुरक्षित URL का उपयोग करके पोस्ट किए गए टोकन System.User.AccessToken चर में Copilot Studio भरे जाते हैं। एजेंट निर्माता इस सिस्टम वैरिएबल का उपयोग संरक्षित API तक पहुंचने के लिए कर सकते हैं, जो टोकन उत्पन्न करने वाले प्रमाणीकृत प्रदाता से जुड़े होते हैं।

निम्न उदाहरण में, HTTP कॉल को प्राधिकरण हेडर के साथ कॉन्फ़िगर किया गया है जो System.User.AccessToken का उपयोग करता है।

एक HTTP कॉल को दर्शाने वाला स्क्रीनशॉट जो एक सुरक्षित APU तक पहुँच प्रदान करता है।

समर्थित चैनल

जेनेरिक प्रमाणीकरण प्रदाता के साथ SSO एक कस्टम पैटर्न है, जिसे कस्टम कैनवास या डायरेक्टलाइन API के साथ काम करने वाले किसी अन्य क्लाइंट द्वारा कार्यान्वित किया जा सकता है। OAuth