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 bir OAuth 2.0 sağlayıcısıyla kullanıcı kimlik doğrulamasını yapılandırma.
- Kullanıcı kimlik doğrulamasını konulara ekleme.
- Bir aracının görünümünü özelleştirme.
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:
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.
Copilot Studio platformundan gelen bir iletinin yolunu keserek güvenli URL'yi ayıklayın.
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.
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.