Kertakirjautumisen määritys yleisen OAuth-palvelun avulla

Copilot Studio tukee kertakirjautumista (SSO) OAuth 2.0 -yhteensopivien todennuspalveluiden kanssa. SSO:n avulla verkkosivuston agentit voivat kirjata asiakkaat sisään, jos he kirjautuivat sivulle tai sovellukseen, jossa agentti on otettu käyttöön.

Edellytykset

Mukautetun pohjan luominen tai käyttö, joka tukee yleisen OAuth-palvelun SSO-työnkulkua

Kun todennusaihe käynnistyy agenteissa, jotka käyttävät yleistä OAuth 2.0 -palveluntarjoajaa, Copilot Studio lähettää viestin, jossa on suojattu URL-osoite. Sitä käytetään käyttäjän käyttöoikeustietueen lähettämiseen.

Mukautetun pohjan tai sivun, johon pohja on upotettu, on toteutettava seuraava kaava:

  1. Hanki käyttöoikeustietue kirjautuneelle käyttäjälle OAuth 2.0 -todennuspalvelusta käyttämällä haluamaasi menetelmää.

  2. Sieppaa Copilot Studiolta saapuva viesti ja pura siitä suojattu URL-osoite.

  3. Lähetä käyttöoikeustietue suojattuun URL-osoitteeseen.

Pura suojattu URL-osoite ja lähetä käyttöoikeustietue

Mukautettu kaavio sieppaa saapuvat viestit käyttämällä väliohjelmiston konseptia. Se on koodia, joka suoritetaan Copilot Studiolta saapuvien viestien yhteydessä.

Jos haluat vastata kirjautumispyyntöihin, mukautetun pohjan on siepattava viestit, joissa on liitteitä, joiden sisältötyyppi on application/vnd.microsoft.card.oauth. OAuthCard-liitteet sisältävät content.tokenPostResource.sasUrl-ominaisuuden, josta suojatun URL-osoitteen voi poimia. Lopuksi mukautetun pohjan on lähetettävä käyttäjän käyttöoikeustietue suojattuun URL-osoitteeseen.

Seuraava JavaScript-koodi on esimerkki väliohjelmistokoodista, joka poimii suojatun URL-osoitteen ja lähettää käyttöoikeustietueen. Jos lähetys onnistuu, väliohjelmisto palauttaa false. Jos lähetys epäonnistuu tai aktiviteetilla ei ole application/vnd.microsoft.card.oauth-ominaisuutta, se palauttaa 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);
  }
};

Täysi näytekoodi

Mukautetun kaavion tai sovelluksen toteutus, joka hankkii tunnuksen kirjautuneelle käyttäjälle ja lähettää sen Copilot Studioon, vaihtelee todennuspalveluntarjoajasta riippuen. Lisätietoja kirjautumisvirroista ja käyttöoikeustietueiden hankkimisesta on todentamispalvelusi dokumentaatiossa. Lisätietoja viite-esimerkistä OKTA-palvelua käytettäessä on kohdassa Kolmannen osapuolen kertakirjautuminen OKTA:n avulla.

Tunnuksen käyttö Copilot Studiossa

Tunnukset, jotka lähetetään suojatun URL-osoitteen kautta, tallennetaan Copilot Studion System.User.AccessToken-muuttujaan. Agentin tekijät voivat tämän järjestelmämuuttujan avulla käyttää suojattuja ohjelmointirajapintoja, jotka on yhdistetty todennettuun palveluun, joka loi tunnuksen.

Seuraavassa esimerkissä HTTP-kutsu määritetään käyttämällä valtuutustietojen otsikkoa, joka käyttää kohdetta System.User.AccessToken.

Näyttökuva suojattua ohjelmointirajapintaa käyttävästä HTTP-kutsusta.

Tuetut kanavat

Kertakirjautuminen yleisen OAuth-todennuspalvelun avulla on mukautettu malli, joka voidaan toteuttaa mukautetussa pohjassa tai jossain muussa Directline-ohjelmointirajapintaa käyttävässä asiakasohjelmassa.