Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Copilot Studio støtter enkel pålogging (SSO) med OAuth 2.0-kompatible autentiseringsleverandører. Med enkel pålogging kan agenter på nettstedet logge på kunder hvis de er logget på siden eller appen der agenten er rullet ut.
Forutsetning
- Konfigurer brukergodkjenning med en generisk OAuth 2.0-leverandør.
- Legg til brukergodkjenning i emner.
- Tilpass utseendet og virkemåten til en agent.
Opprette eller bruke et egendefinert arbeidsområde som støtter den generiske SSO-flyten for OAuth-leverandør
Når autentiseringsemnet trigges i agenter tilknyttet en generisk OAuth 2.0-leverandør, sender Copilot Studio en melding som inneholder en sikker nettadresse, som brukes til å poste tilgangstokenet til brukeren.
Det egendefinerte lerretet eller siden der lerretet er innebygd, må implementere følgende mønster:
Hent en tilgangstoken for den påloggede brukeren fra OAuth 2.0-godkjenningsleverandøren ved hjelp av den foretrukne metoden.
Fang opp en innkommende melding fra Copilot Studio, og hent ut den sikre URL-adressen.
Legg inn tilgangstoken til den sikre URL-adressen.
Trekke ut en sikker URL og sende tokenet
Det egendefinerte arbeidsområdet avskjærer innkommende meldinger ved hjelp av et mellomvarekonsept, som er kode som kjører i kontekst av mottak av meldinger fra Copilot Studio.
For å kunne svare på påloggingsforespørsler må det egendefinerte arbeidsområdet fange opp meldinger med vedlegg som har application/vnd.microsoft.card.oauth-innholdstype. OAuthCard-vedlegg inneholder en content.tokenPostResource.sasUrl-egenskap som den sikre URL-adressen kan trekkes ut fra. Til slutt bør det egendefinerte arbeidsområdet legge inn brukerens tilgangstoken til den sikre URL-adressen.
JavaScript-koden nedenfor er et eksempel på mellomvarekode som trekker ut den sikre URL-adressen og legger inn et token. Hvis innlegget er vellykket, returnerer mellomvaren false. Hvis innlegget ikke er mislykket, eller hvis aktiviteten ikke har application/vnd.microsoft.card.oauth-egenskapen, returnerer den 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);
}
};
Fullstendig eksempelkode
Hvordan du implementerer et tilpasset lerret eller app som henter et token for en innlogget bruker og sender det til Copilot Studio, avhenger av godkjenningsleverandøren din. Hvis du vil ha mer informasjon, kan du se dokumentasjonen for godkjenningsleverandøren hvis du vil ha mer informasjon om påloggingsflyter og hente tilgangstokener. Hvis du vil se et eksempel på en referanse ved hjelp av OKTA, kan du se tredjeparts-SSO med OKTA.
Bruk av token i Copilot Studio
Token som sendes via den sikre nettadressen blir lagt inn i System.User.AccessToken-variabelen i Copilot Studio. Agentutviklere kan bruke denne systemvariabelen til å få tilgang til beskyttede API-er som er koblet til den godkjente leverandøren som genererte tokenet.
I følgende eksempel er en HTTP-samtale konfigurert med et autorisasjonshode som bruker System.User.AccessToken.
Støttede kanaler
SSO med en generisk OAuth-godkjenningsleverandør er et egendefinert mønster som kan implementeres enten av et egendefinert arbeidsområde eller en annen klient som arbeider med Directline-API.