Aracılığıyla paylaş


Genel OAuth sağlayıcısıyla çoklu oturum açmayı yapılandırma

Copilot Studio, OAuth 2.0 uyumlu kimlik doğrulama sağlayıcılarıyla çoklu oturum açmayı (SSO) destekler. SSO, web sitenizdeki aracıların aracı dağıtıldığı sayfada veya uygulamada oturum açan müşterilerin oturum açmasına olanak tanır.

Önkoşullar

Genel OAuth sağlayıcı SSO akışını destekleyen özel bir tuval oluşturma veya kullanma

Genel bir OAuth 2.0 sağlayıcısıyla Copilot Studio bağlantılı aracılarda kimlik doğrulama konusu tetiklendiğinde, kullanıcının erişim belirtecini deftere nakletmek için kullanılan güvenli bir URL içeren bir ileti gönderir.

Özel tuval veya tuvalin katıştırıldığı bir sayfa aşağıdaki deseni uygulamalıdır:

  1. Tercih ettiğiniz yöntemi kullanarak, OAuth 2.0 kimlik doğrulama sağlayıcınızdan oturum açmış kullanıcı için bir erişim belirteci edinin.

  2. Copilot Studio platformundan gelen bir iletinin yolunu keserek güvenli URL'yi ayıklayın.

  3. Erişim belirteci güvenli URL'ye gönderin.

Güvenli URL'yi çıkarma ve belirteci gönderme

Özel tuval, Copilot Studio platformundan ileti alma bağlamında çalışan bir kod olan bir ara yazılım kavramı kullanarak gelen iletileri keser.

Oturum açma isteklerini yanıtlamak için özel tuvalin, içerik türüne application/vnd.microsoft.card.oauth sahip ekleri bulunan iletileri kesmesi gerekir. OAuthCard ekleri, güvenli URL'nin ayıklandığı bir content.tokenPostResource.sasUrl özelliği içerir. Son olarak, özel tuvalde kullanıcının erişim belirteci güvenli URL'ye gönderilmelidir.

Aşağıdaki JavaScript kodu, güvenli URL'yi ayıklayan ve belirteç olarak postalayan ara yazılım koduna bir örnektir. Gönderi başarılıysa ara yazılım false öğesini geri getirir. Gönderi başarısız ise veya etkinliğin application/vnd.microsoft.card.oauth özelliği yoksa next(…args) öğesini geri döndürür.

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);
  }
};

Tam örnek kod

Oturum açmış bir kullanıcı için belirteç alan ve belirteci Copilot Studio platformuna postalayan özel bir tuval veya uygulamanın uygulaması kimlik doğrulama sağlayıcınıza göre değişir. Daha fazla bilgi için oturum açma akışları ve erişim belirteçleri alma hakkında daha fazla bilgi için kimlik doğrulama sağlayıcınızın belgelerine bakın. OKTA kullanarak bir başvuru örneği için bkz. OKTA ile üçüncü taraf SSO.

Copilot Studio uygulamanızda belirteci kullanma

Güvenli URL kullanılarak gönderilen belirteçler Copilot Studio içindeki System.User.AccessToken değişkenine doldurulur. Aracı oluşturucular, belirteci oluşturan kimliği doğrulanmış sağlayıcıya bağlı korumalı API'lere erişmek için bu sistem değişkenini kullanabilir.

Aşağıdaki örnekte, bir HTTP görüşmesi, System.User.AccessToken kullanan bir Yetkilendirme başlığıyla yapılandırılır.

Güvenli APU'ya erişen bir HTTP görüşmesinin ekran görüntüsü.

Desteklenen kanallar

Genel OAuth kimlik doğrulama sağlayıcısı ile SSO, özel bir tuval veya Directline API'siyle çalışan başka bir istemci tarafından uygulanabilen özel bir desendir.