У меня проблема с запуском моего бота из эмулятора - BotFrameworkAdapter.processActivity (): 401 ОШИБКА - NotBeforeError: jwt не активен - PullRequest
0 голосов
/ 02 апреля 2019

Я занимаюсь разработкой бота с помощью Microsoft Bot Framework для Node.js.

Я изменил приложение LUIS в файле .bot на новый, а затем сгенерировал новый botFileSecret, я протестировал своего боталокально с эмулятором Bot Framework и все работало нормально.

Затем я получил эту ошибку:

Error finding key for token.
Available keys: -----BEGIN RSA PUBLIC KEY-----
jwtTokenExtractor.ts:132
MIIBCgKCAQEAt3J1hnS4aRZaZGq5JUw1iKsHynCUV9lMBe2MDArXGeQlN+w8Xw9v
U6InqmPVvJsUVyUkKE0jzn4dYLcwbTuttQ0hmN+lzNfGol04KKMIVdtTs1P0wo/+
VyJ88EuWM3lvDxyTw1PLim14UJ1856zdp2/kZLOSy+B46K96ENJ8b2yCP/VHRTd3
...
-----END RSA PUBLIC KEY-----
JwtTokenExtractor.getIdentity:err!
jwtTokenExtractor.ts:69
NotBeforeError {name: "NotBeforeError", message: "jwt not active", date: Tue Apr 02 2019 09:58:08 GMT+0200 (Romance Dayligh…, stack: "NotBeforeError: jwt not active
    at Object.modul…"}
jwtTokenExtractor.ts:69
BotFrameworkAdapter.processActivity(): 401 ERROR - NotBeforeError: jwt not active
botFrameworkAdapter.ts:555
(node:1888) UnhandledPromiseRejectionWarning: Error: NotBeforeError: jwt not active
warning.js:18
    at BotFrameworkAdapter.processActivity (c:\Users\SP-Montassar\Desktop\quicktext\zoe2\node_modules\botbuilder\src\botFrameworkAdapter.ts:556:19)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:229:7)
(node:1888) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
warning.js:18
(node:1888) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

После исследования я нашел эту статью на Bot Framework Docsобъясняя, как разрешить проверку подлинности бота .

Я выполнил следующие действия ..

Сначала я подтвердил идентификатор приложения и пароль приложения на портале Azure, а затемЯ удалил идентификатор приложения и пароль приложения.Я проверил, что бот запускается нормально.Я отправил этот HTTP-запрос через commandLine для проверки подлинности:

curl -X POST \
  https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials&client_id=<APP_ID>&client_secret=<APP_PWD>&scope=https://api.botframework.com/.default'

Я получил ответ с действительным токеном доступа:

{
    "token_type": "Bearer",
    "expires_in": 3600,
    "ext_expires_in": 3600,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGGAKI..."
}

Затем я был заблокирован в третьемшаг из учебника, потому что у меня все еще есть ошибка выше.

Любая помощь по этой проблеме, пожалуйста?

1 Ответ

0 голосов
/ 24 апреля 2019

Эта проблема решается простым созданием нового botFileSecret для файла .bot.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...