Megosztás a következőn keresztül:


A Bot Framework hitelesítési hibáinak elhárítása

A KÖVETKEZŐKRE VONATKOZIK: SDK v4

Ez az útmutató számos forgatókönyv kiértékelésével segíthet a robot hitelesítési problémáinak elhárításában, hogy megállapítsa, hol található a probléma.

Feljegyzés

Az útmutató összes lépésének elvégzéséhez le kell töltenie és használnia kell a Bot Framework Emulatort , és hozzá kell férnie a robot regisztrációs beállításaihoz az Azure Portalon.

Alkalmazásazonosító és -jelszó

A robotok biztonságát a Robot Frameworkben való regisztráláskor beszerzett Microsoft-alkalmazásazonosító és Microsoft-alkalmazásjelszó konfigurálja. Ezek az értékek általában a robot konfigurációs fájljában vannak megadva, és a hozzáférési jogkivonatok a Microsoft Account szolgáltatásból való lekérésére szolgálnak.

Ha még nem tette meg, telepítse a robotot az Azure-ban , hogy beszerezze a Hitelesítéshez használható Microsoft-alkalmazásazonosítót és Microsoft-alkalmazásjelszót .

Feljegyzés

Ha meg szeretné keresni a robot AppID-jét és AppPasswordjét egy már üzembe helyezett robothoz, olvassa el a MicrosoftAppID és a MicrosoftAppPassword című témakört.

1. lépés: A localhost biztonságának és tesztelésének letiltása

Ebben a lépésben ellenőrizni fogja, hogy a robot elérhető-e és működik-e a localhoston, ha a biztonság le van tiltva.

Figyelmeztetés

A robot biztonságának letiltása lehetővé teheti, hogy ismeretlen támadók megszemélyesíthessenek felhasználókat. Csak akkor hajtsa végre a következő eljárást, ha védett hibakeresési környezetben működik.

A biztonság letiltása

A robot biztonságának letiltásához szerkessze annak konfigurációs beállításait az alkalmazásazonosító és a jelszó értékeinek eltávolításához.

Ha a .NET-hez készült Bot Framework SDK-t használja, adja hozzá vagy szerkessze a beállításokat a appsettings.json fájlban:

"MicrosoftAppId": "",
"MicrosoftAppPassword": ""

A robot tesztelése a localhoston

Ezután tesztelje a robotot a localhoston a Bot Framework Emulator használatával.

  1. Indítsa el a robotot a localhost webhelyen.
  2. Indítsa el a Bot Framework Emulatort.
  3. Csatlakozzon a robothoz az Emulator használatával.
    • Írja be http://localhost:port-number/api/messages az Emulator címsorába, ahol a portszám megegyezik a böngészőben látható portszámmal, amelyen az alkalmazás fut.
    • Győződjön meg arról, hogy a Microsoft App ID és a Microsoft App Password mezők is üresek.
    • Kattintson a Connect (Csatlakozás) gombra.
  4. A robottal való kapcsolat teszteléséhez írjon be egy szöveget az Emulátorba, és nyomja le az Enter billentyűt.

Ha a robot válaszol a bemenetre, és a csevegőablakban nem jelenik meg hiba, ellenőrizte, hogy a robot elérhető-e és működik-e a localhoston, ha a biztonság le van tiltva. Folytassa a 2. lépésben.

Ha a csevegőablakban egy vagy több hiba jelenik meg, a részletekért kattintson a hiba(ok)ra. A gyakori problémák a következők:

  • Az Emulátor beállításai helytelen végpontot adnak meg a robothoz. Győződjön meg arról, hogy a megfelelő portszámot tartalmazza az URL-címben, valamint az URL végén található megfelelő elérési utat, például /api/messages.
  • Az Emulator beállításai egy robotvégpontot határoznak meg, amely a következővel httpskezdődik: . A localhoston a végpontnak a következővel httpkell kezdődnie: .
  • Az Emulator beállításai megadják a Microsoft Alkalmazásazonosító mező és/vagy a Microsoft Alkalmazásjelszó mező értékét. Mindkét mezőnek üresnek kell lennie.
  • A robot biztonsága nem lett letiltva. Ellenőrizze , hogy a robot nem ad-e meg értéket az alkalmazásazonosítóhoz vagy a jelszóhoz.

2. lépés: A robot alkalmazásazonosítójának és jelszavának ellenőrzése

Ebben a lépésben ellenőrizni fogja, hogy a robot által a hitelesítéshez használt alkalmazásazonosító és -jelszó érvényes-e. (Ha nem ismeri ezeket az értékeket, szerezze be őket most.)

Figyelmeztetés

Az alábbi utasítások letiltják az SSL-ellenőrzést.login.microsoftonline.com Ezt az eljárást csak biztonságos hálózaton hajtsa végre, és fontolja meg az alkalmazás jelszavának módosítását.

HTTP-kérés kiadása a Microsoft bejelentkezési szolgáltatásának

Ezek az utasítások azt ismertetik, hogyan lehet a cURL használatával HTTP-kérést küldeni a Microsoft bejelentkezési szolgáltatásának. Használhat egy másik eszközt, például a Postmant, csak győződjön meg arról, hogy a kérés megfelel a Bot Framework hitelesítési protokolljának.

A robot alkalmazásazonosítójának és jelszavának érvényességének ellenőrzéséhez adja ki a következő kérést a cURL használatával, cserélje le APP_ID és APP_PASSWORD adja meg a robot alkalmazásazonosítóját és jelszavát.

Tipp.

A jelszó tartalmazhat olyan speciális karaktereket, amelyek érvénytelensé teszik a következő hívást. Ha igen, próbálja meg URL-kódolásra konvertálni a jelszót.

curl -k -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token -d "grant_type=client_credentials&client_id=APP_ID&client_secret=APP_PASSWORD&scope=https%3A%2F%2Fapi.botframework.com%2F.default"

Ez a kérés megpróbálja kicserélni a robot alkalmazásazonosítóját és jelszavát egy hozzáférési jogkivonatra. Ha a kérés sikeres, olyan JSON hasznos adatokat fog kapni, amelyek többek között egy tulajdonságot access_token tartalmaznak.

{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAJKV1Q..."}

Ha a kérés sikeres, ellenőrizte, hogy a kérelemben megadott alkalmazásazonosító és jelszó érvényes-e. Folytassa a 3. lépésben.

Ha hibaüzenetet kap a kérésre adott válaszban, vizsgálja meg a választ a hiba okának azonosításához. Ha a válasz azt jelzi, hogy az alkalmazásazonosító vagy a jelszó érvénytelen, szerezze be a megfelelő értékeket a Bot Framework portálról, és adja vissza a kérést az új értékekkel annak ellenőrzéséhez, hogy érvényesek-e.

3. lépés: A biztonság és a tesztelés engedélyezése a localhoston

Ezen a ponton ellenőrizte, hogy a robot elérhető és működőképes-e a localhoston, ha a biztonság le van tiltva, és megerősítette, hogy a robot által a hitelesítéshez használt alkalmazásazonosító és jelszó érvényes. Ebben a lépésben ellenőrizni fogja, hogy a robot elérhető-e és működik-e a localhoston, ha engedélyezve van a biztonság.

A biztonság engedélyezése

A robot biztonsága Microsoft-szolgáltatások függ, még akkor is, ha a robot csak a localhoston fut. A robot biztonságának engedélyezéséhez szerkessze annak konfigurációs beállításait, hogy feltöltse az alkalmazásazonosítót és a jelszót a 2. lépésben ellenőrzött értékekkel. Emellett győződjön meg arról, hogy a csomagok naprakészek, konkrétan System.IdentityModel.Tokens.Jwt és Microsoft.IdentityModel.Tokens.

Ha a .NET-hez készült Bot Framework SDK-t használja, töltse ki ezeket a beállításokat a appsettings.config fájlban vagy a megfelelő értékekben appsettings.json :

<appSettings>
  <add key="MicrosoftAppId" value="APP_ID" />
  <add key="MicrosoftAppPassword" value="PASSWORD" />
</appSettings>

Ha a Bot Framework SDK-t használja Node.js, töltse ki ezeket a beállításokat (vagy frissítse a megfelelő környezeti változókat):

var connector = new builder.ChatConnector({
  appId: 'APP_ID',
  appPassword: 'PASSWORD'
});

Feljegyzés

A robot AppID- és AppPassword-azonosítóját a MicrosoftAppID és a MicrosoftAppPassword című témakörben találja.

A robot tesztelése a localhoston

Ezután tesztelje a robotot a localhoston a Bot Framework Emulator használatával.

  1. Indítsa el a robotot a localhost webhelyen.
  2. Indítsa el a Bot Framework Emulatort.
  3. Csatlakozzon a robothoz az Emulator használatával.
    • Írja be http://localhost:port-number/api/messages az Emulator címsorába, ahol a portszám megegyezik a böngészőben látható portszámmal, amelyen az alkalmazás fut.
    • Adja meg a robot alkalmazásazonosítóját a Microsoft Alkalmazásazonosító mezőjébe.
    • Írja be a robot jelszavát a Microsoft Alkalmazás jelszava mezőbe.
    • Kattintson a Connect (Csatlakozás) gombra.
  4. A robottal való kapcsolat teszteléséhez írjon be egy szöveget az Emulátorba, és nyomja le az Enter billentyűt.

Ha a robot válaszol a bemenetre, és a csevegőablakban nincsenek hibák, ellenőrizte, hogy a robot elérhető és működik-e a localhoston, ha a biztonság engedélyezve van. Folytassa a 4. lépésben.

Ha a csevegőablakban egy vagy több hiba jelenik meg, a részletekért kattintson a hiba(ok)ra. A gyakori problémák a következők:

  • Az Emulátor beállításai helytelen végpontot adnak meg a robothoz. Győződjön meg arról, hogy a megfelelő portszámot tartalmazza az URL-címben, valamint az URL végén található megfelelő elérési utat, például /api/messages.
  • Az Emulator beállításai egy robotvégpontot határoznak meg, amely a következővel httpskezdődik: . A localhoston a végpontnak a következővel httpkell kezdődnie: .
  • Az Emulator beállításai között a Microsoft Alkalmazásazonosító mező és/vagy a Microsoft Alkalmazás jelszava nem tartalmaz érvényes értékeket. Mindkét mezőt ki kell tölteni, és minden mezőnek tartalmaznia kell a 2. lépésben ellenőrzött megfelelő értéket.
  • A robot biztonsága nincs engedélyezve. Ellenőrizze , hogy a robot konfigurációs beállításai megadják-e az alkalmazásazonosító és a jelszó értékeit.

4. lépés: Robot tesztelése a felhőben

Ezen a ponton ellenőrizte, hogy a robot elérhető és működőképes-e a localhoston, ha a biztonság le van tiltva, ellenőrizte, hogy a robot alkalmazásazonosítója és jelszava érvényes-e, és ellenőrizte, hogy a robot elérhető-e és működik-e a localhoston, ha a biztonság engedélyezve van. Ebben a lépésben üzembe helyezi a robotot a felhőben, és ellenőrzi, hogy elérhető-e és működik-e ott, ha engedélyezve van a biztonság.

Robot üzembe helyezése a felhőben

A Bot Framework megköveteli, hogy a robotok elérhetők legyenek az internetről, ezért üzembe kell helyeznie a robotot egy felhőalapú üzemeltetési platformon, például az Azure-ban. Mindenképpen engedélyezze a robot biztonságát az üzembe helyezés előtt, a 3. lépésben leírtak szerint.

Feljegyzés

Ha még nem rendelkezik felhőszolgáltatóval, regisztrálhat egy ingyenes fiókra.

Ha üzembe helyezi a robotot az Azure-ban, az SSL automatikusan konfigurálva lesz az alkalmazáshoz, ezáltal lehetővé téve a Bot Framework által igényelt HTTPS-végpontot . Ha egy másik felhőszolgáltatón helyezi üzembe az üzembe helyezést, győződjön meg arról, hogy az alkalmazás SSL-hez van konfigurálva, hogy a robot HTTPS-végponttal rendelkezzen.

A robot tesztelése

Ha a robotot a felhőben szeretné tesztelni, és engedélyezve van a biztonság, hajtsa végre az alábbi lépéseket.

  1. Győződjön meg arról, hogy a robot sikeresen üzembe lett helyezve, és fut.
  2. Jelentkezzen be az Azure Portalra.
  3. Keresse meg a robot Azure Bot-erőforrását a portálon.
  4. A bal oldali Bot management panelen kattintson a Tesztelés gombra webchat.
  5. A robottal való kapcsolat teszteléséhez írjon be egy szöveget a webes csevegés vezérlőjébe, és nyomja le az Enter billentyűt.

Ha a csevegőablakban hiba jelenik meg, a hibaüzenet segítségével állapítsa meg a hiba okát. A gyakori problémák a következők:

  • A robot Beállítások lapján a Bot Framework Portalon megadott üzenetkezelési végpont helytelen. Győződjön meg arról, hogy az URL-cím végén a megfelelő elérési út szerepel, például /api/messages.
  • A Robot keretrendszer portáljának Beállítások lapján megadott üzenetkezelési végpont nem a Bot Framework-keretrendszerrel https kezdődik, vagy nem megbízható. A robotnak érvényes, láncban megbízható tanúsítvánnyal kell rendelkeznie.
  • A robot az alkalmazásazonosító vagy -jelszó hiányzó vagy helytelen értékeivel van konfigurálva. Ellenőrizze , hogy a robot konfigurációs beállításai érvényes értékeket adnak-e meg az alkalmazásazonosítóhoz és a jelszóhoz.

Ha a robot megfelelően válaszol a bemenetre, ellenőrizte, hogy a robot elérhető és működik-e a felhőben, és engedélyezve van a biztonság. Ezen a ponton a robot készen áll arra, hogy biztonságosan csatlakozzon egy csatornához , például a Facebook Messengerhez, a Direct Line-hoz és másokhoz.

További erőforrások

Ha a fenti lépések elvégzése után is problémákat tapasztal, a következőket teheti:

  • Tekintse át a robot hibakeresési útmutatóját és a szakaszban található többi hibakeresési cikket.
  • A robot hibakeresése a felhőben a Bot Framework Emulator és az ngrok bújtatási szoftver használatával. Az ngrok nem Microsoft-termék.
  • Használjon egy olyan proxyeszközt, mint a Fiddler , a robot felé és onnan érkező HTTPS-forgalom vizsgálatához. A Fiddler nem Microsoft-termék.
  • Tekintse át a Bot Connector hitelesítési útmutatóját a Bot Framework által használt hitelesítési technológiák megismeréséhez.
  • Kérjen segítséget másoktól a Bot Framework támogatási erőforrásainak használatával.