Jaa


Kertakirjautumisen määrittäminen yleisen OAuth-palvelun avulla

Copilot Studio tukee kertakirjautumista (SSO) OAuth 2.0 -yhteensopivien todentamispalveluiden kanssa. SSO:n avulla sivustosi asiakaspalvelijat voivat kirjata asiakkaita sisään, jos he ovat kirjautuneet sivulle tai sovellukseen, jossa asiakaspalvelija on otettu käyttöön.

edellytykset

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

Kun todennuksen aihe käynnistetään yleiseen OAuth 2.0-palveluntarjoajaan yhdistetyissä asiakaspalvelijoissa, Copilot Studio lähettää viestin, joka sisältää suojatun URL-osoitteen, jota käytetään käyttäjän käyttöoikeustietue julkaisemiseen.

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 Studiosta saapuva viesti ja pura suojattu URL-osoite.

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

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

Mukautettu pohja sieppaa saapuvat viestit käyttämällä väliohjelmistokonseptia, joka on koodi, joka suoritetaan viestien Copilot Studiosta vastaanottamisen kontekstissa.

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 pohjan tai sovelluksen toteutus, joka hankkii tunnuksen kirjautuneelle käyttäjälle ja lähettää tunnuksen Copilot Studioon, vaihtelee todentamispalvelun mukaan. Lisätietoja kirjautumisvirroista ja käyttöoikeustietueiden hankkimisesta on todentamispalvelusi dokumentaatiossa. Viite-esimerkki OKTA-palvelua käytettäessä: Kolmannen osapuolen kertakirjautuminen OKTA:n avulla.

Tunnuksen käyttäminen Copilot Studiossa

Suojatulla URL-osoitteella julkaistut tunnukset täytetään System.User.AccessToken-muuttujaan kohteessa Copilot Studiossa. Asiakaspalvelija tekijät voivat käyttää tätä järjestelmämuuttujaa käyttääkseen suojattuja ohjelmointirajapintoja, jotka on yhdistetty tunnuksen luoneeseen todennettuun palveluntarjoajaan.

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.