TypeScript الظاهري المساعد والمهارة
تيبسكريبت
تم إلقاء الخطأ التالي عند محاولة المصادقة
خطأ: DialogContext.beginDialog (): لم يتم العثور على مربع حوار بمعرف 'AuthPrompt'.
في WaterfallStepContext.
في Generator.next (
في D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 7: 71
في وعد جديد (
في __awaiter (D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 3: 12)
في WaterfallStepContext.beginDialog (D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 119: 16)
في MultiProviderAuthDialog.firstStep (D: \ home \ site \ wwwroot \ node_modules \ bot-Solutions \ lib \ Authentication \ multiProviderAuthDialog.js: 75: 34)
في WaterfallDialog.
في Generator.next (
في D: \ home \ site \ wwwroot \ node_modules \ botbuilder-Dials \ lib \ waterfallDialog.js: 7: 71
نشر المساعد الافتراضي والمهارة. قم بتمكين MultiProviderAuthDialog في المهارة
استخدم مربع حوار المصادقة للمصادقة باستخدام Azure Active Directory v2
احصل على بطاقة تسجيل الدخول لتسجيل الدخول
خطأ: DialogContext.beginDialog (): لم يتم العثور على مربع حوار بمعرف 'AuthPrompt'.
في WaterfallStepContext.
في Generator.next (
في D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 7: 71
في وعد جديد (
في __awaiter (D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 3: 12)
في WaterfallStepContext.beginDialog (D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 119: 16)
في MultiProviderAuthDialog.firstStep (D: \ home \ site \ wwwroot \ node_modules \ bot-Solutions \ lib \ Authentication \ multiProviderAuthDialog.js: 75: 34)
في WaterfallDialog.
في Generator.next (
في D: \ home \ site \ wwwroot \ node_modules \ botbuilder-Dials \ lib \ waterfallDialog.js: 7: 71
شكرًا لك @ tomSauret847 على الإبلاغ عن هذه المشكلة! بمجرد حصولنا على أي تحديث ، سنعود إليك 😊.
مرحبا @ tomSauret847 - آسف على التأخير. لقد نجحنا في إعادة إظهار المشكلة باستخدام TypeScript Skill باتباع الخطوات التالية:
OAuthPromptSettings
مجموعة إلى MultiProviderAuthDialog
منشئappsettings.oauthConnections
إلى خصائص botSettings
AADv2
AADv2
للتسجيل في Azureبمجرد حصولنا على أي تحديث ، سنعود إليك 😊.
مرحبًا @ tomSauret847 - لقد أصلحنا هذه المشكلة في هذا الالتزام .
كانت هذه في الواقع مشكلة في مكتبة bot-solutions
، وقد حددنا موعدًا لإصدار الإصلاح مع الإصدار 1.0 من المكتبة.
في غضون ذلك ، إذا كنت تريد طريقة لاختبار الإصلاح بنفسك ، فيمكنك اتباع الخطوات التالية :
npm install
لتثبيت تبعياته.npm run build
لإنشاء الحل.npm pack
لإنشاء ملف .tgz
. يجب أن ينشئ ملفًا في نفس الموقع ، يسمى bot-Solutions-version.tgz"bot-solutions": "^1.0.0"
إلى "bot-solutions": "<PATH_TO_TGZ>"
سنهتم بردودكم.
شكرًا لك على النظر في هذا @ Batta32 ما زلت أتلقى خطأ في هذه العملية. الخطأ هو
خطأ: تعذر العثور على إعداد الاتصال بالاسم {اسم الاتصال}
أقوم بإعداد الاتصال كما هو موضح هنا لإعداد SSO لمهارة.
هل ما زلنا بحاجة إلى اتصال مصادقة في كل مهارة بمهارات الطباعة على الحروف؟
أو هل يمكننا استخدام SSO الفردي كما هو موضح لمهارات C #؟
إذا أضفت الاتصال على المهارة ، فسوف أحصل على موجه تسجيل الدخول كما فعلت ولكني لن أتلقى الرمز مرة أخرى بعد إكمال تسجيل الدخول. إذا كان بإمكانك توضيح ما إذا كنا بحاجة إلى إعداد اتصال واحد في VA أو إذا نحتاج إلى إعداد اتصالات في كل من المهارات التي تتطلب المصادقة.
شكرا @ tomSauret847 على ردكم. بمجرد حصولنا على أي تحديث ، سنعود إليك 😊!
مرحبا @ tomSauret847 - لدينا تتكرر هذه المسألة بنجاح. يرجع السبب في ذلك إلى أن الخاصية name
الموجودة في oauthConnections
من appsettings.json
تختلف عن الخاصية connectionName
في OAuthPromptSettings
الذي تستخدمه.
سنواصل مراجعة هذا وتحليل الأسئلة التي ذكرتها أعلاه. بمجرد حصولنا على أي تحديث ، سنعود إليك 😊.
كانت الخطوات التي اتبعناها لإعادة إظهار المشكلة هي:
name
في oauthConnections
من appsettings.json
تختلف عن الخاصية connectionName
في OAuthPromptSettings
الذي تستخدمه_عندما يكون اسم الاتصال والاسم مختلفين ، تظهر المشكلة مرة أخرى_
_تم إعادة إصدار المشكلة_
مرحبا @ tomSauret847
هل ما زلنا بحاجة إلى اتصال مصادقة في كل مهارة بمهارات الطباعة على الحروف؟
يجب أن يكون لديك اتصال مصادقة في كل مهارة TypeScript حتى يتم إصدار الإصدار 1.0 من TypeScript Skill.
أو هل يمكننا استخدام SSO الفردي كما هو موضح لمهارات C #؟
لا يمكن استخدام SSO لـ TypeScript كما هو موضح لمهارات C # لأن الإصدار 1.0 من TypeScript لم يتم إصداره بعد.
أخبرنا إذا كانت هذه تساعدك 😊.
@ tomSauret847 - الخطأ Error: Could not find Connection Setting with name {connection name}
يرجع إلى أن الخاصية name
في oauthConnections
من appsettings
تختلف عن الخاصية connectionName
في OAuthPromptSettings
الذي تستخدمه.
لحل هذه المشكلة ، عليك التحقق من تساوي الخاصيتين.
لمزيد من المعلومات ، يمكنك التحقق من التعليق أعلاه.
شكرا لك @ Batta32 للنظر في هذا. يمكنني أن أؤكد أنه إذا قمت بإنشاء خاصية اتصال على المهارة ، يمكنني الحصول على مطالبة تسجيل الدخول. لقد أثار تعليقك سؤالاً آخر. نحن نستعد للانتقال إلى الاختبار باستخدام VA الجديد الخاص بنا وبعد ذلك إلى الإنتاج. السؤال الذي لدي ،
هل سيتم نشر هذا الإصلاح الخاص بالمصادقة إلى NPM قبل الإصدار 1.0؟
بالنسبة لبيئة الإنتاج الخاصة بنا ، سنحتاج إلى حزم NPM المنشورة ، لذا سنحتاج إلى نشر هذا الإصلاح قبل أن نتمكن من نقل VA إلى الإنتاج. سأكون منتبهة لإجابتك.
@ tomSauret847 - شكرا
[TypeScript][Bot-Solutions] Implement changes in Bot-Solutions to 1.0 release
[TypeScript][Virtual Assistant] Implement changes in Virtual Assistant to 1.0 release
[TypeScript][Skill] Implement changes in Skill to 1.0 release
سنبلغك بمجرد حصولنا على أي تحديث بشأن هذا. في غضون ذلك ، نحن نعمل على التحقق من صحة عملية المصادقة في TypeScript.
@ tomSauret847 - حددنا مشكلة أخرى أن متغير حالة المهارة كان _undefined_ أثناء عملية المصادقة.
اتخذنا كدليل دليل PR # 3561 الذي يحدد قيمة افتراضية لموصّل حالة المهارة الذي قمنا بتضمينه في هذا الالتزام .
بعد تطبيق هذه التغييرات ، تعمل عملية المصادقة بشكل صحيح. سيتم إصلاح هذه المشكلة بمجرد دمج TypeScript v1.0.
هذه هي بيئتنا باستخدام هذا الفرع : feature/southworks/test-fix-auth-skill
:
في غضون ذلك ، إذا كنت تريد طريقة لاختبار الإصلاح بنفسك ، فيمكنك اتباع الخطوات التالية:
npm install
لتثبيت تبعياته.npm run build
لإنشاء الحل.npm pack
لإنشاء ملف .tgz. يجب أن ينشئ ملفًا في نفس الموقع ، يسمى bot-Solutions-version.tgz"bot-solutions": "^1.0.0"
إلى "bot-solutions": "<PATH_TO_TGZ>"
npm install
لتثبيت تبعياته.npm run build
لإنشاء الحل.نحن مهتمون بإجابتك. 😊
_حصول متغير SkillState على قيمة غير محددة
_عمل عملية المصادقة بشكل صحيح_
شكرا مرة أخرى @ Batta32! لقد استخدمت الحزمة 1.0 للاختبار. ما زلت بحاجة إلى الاحتفاظ بإعداد اتصال في المهارة ، لكنني قادر على الحصول على المصادقة للعمل. لقد تمكنت من معرفة المكان الذي يتلقى فيه VA استجابة الرمز المميز وإعادة توجيهه إلى المهارة التي يجب معالجتها.
@ Batta32 لدينا مصادقة الإعداد في 2 من مهاراتنا وهي تعمل بشكل جيد في قناة Teams. لا تتجاوز قناة الخط المباشر مطالبة المصادقة. المهارة لا تسترجع الرمز المميز بعد تسجيل الدخول بنجاح. هذه المشكلة موجودة فقط في قناة الخط المباشر لدينا. نحن نستخدم نموذج عميل الخط المباشر الذي تم توفيره وتمكينه من خيارات المصادقة المحسنة حتى لا ندخل "الرمز السحري". لقد نجحت قبل إضافة المصادقة المحسّنة ولكن بعد إضافة هذه الميزة ، لم تعد المهارة تتلقى استجابة الرمز المميز مرة أخرى. إذا ألغينا المهارة وعدنا إلى هذا الحوار ، فسيكون الرمز المميز موجودًا ويمكننا إكمال الحوار. اسمحوا لي أن أعرف إذا كان لديك أي أفكار حول سبب هذا.
شكرًا @ tomSauret847 ، وسنعود إليك في أقرب وقت ممكن!
فقط لبدء مراجعة السيناريو:
شكرا لك مرة أخرى @ Batta32 للنظر في هذا. نحن نستخدم عينة الخط المباشر من مستودع حلول botbuilder الموجود هنا
تم شرح "الكود السحري" في هذا السؤال حول تجاوز سعة المكدس هنا
إنه مجرد رمز مطلوب من مستخدم الروبوت نسخه ولصقه مرة أخرى في المحادثة بعد المصادقة بنجاح. من خلال تنفيذ المصادقة المحسّنة ، تزيل هذه الخطوة لمستخدم الروبوت بحيث يحتاج فقط إلى المصادقة وتتقدم المحادثة للأمام حيث يتم تمرير الرمز المميز إلى الروبوت خلف الكواليس.
شكرًا جزيلاً على tomSauret847 ،
مرحبًا @ tomSauret847 ، لم نتمكن من إعادة إنتاج هذه المشكلة نظرًا لأن سيناريو المصادقة يعمل بشكل صحيح.
توصلنا إليك ببعض الأسئلة :
هذا هو الإعداد الذي كنا نستخدمه:
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"BotName": "skillbot-name",
"DirectLineSecret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"EnableDirectLineEnhancedAuthentication": true,
"SpeechServiceRegionIdentifier": "",
"SpeechServiceSubscriptionKey": ""
}
الخطوات التي اتبعناها هي:
سنكون منتبهين لإجابتك.
شكرا لك @ matiasroldan6 للنظر في هذا. للإجابة على أسئلتكم
لدينا معرف المستخدم مضبوطًا على "dl_xxxx" في عميل الخط المباشر
لدينا مصادقة Azure AD v2 في الاتصال على Skill و VA
لدينا إعدادات Appsettings.json لعميل الخط المباشر التي تم تعيينها كما هي أعلاه
نحن غير قادرين على استخدام قناة الخط المباشر على المهارة واستخدامها فقط على VA
يمكننا استخدام المصادقة في قناة Teams حيث المشكلة الوحيدة هي أن رسائل الحوار معطلة. إنه يفشل في إرسال الخطوة الأولىContext.context.sendActivity ("رسالة") حتى دقيقة لاحقة في التحويل. يحدث هذا فقط في مربعات الحوار التي تتضمن مصادقة مضمنة فيها وفي قناة Teams فقط.
نحن نستخدم حلول الروبوت 1.0 الموجودة هنا
يرجى إعلامي إذا كنت بحاجة إلى مزيد من المعلومات حول المهارة و VA
مرحبًا @ tomSauret847 ، يمكننا إعادة إنتاج تكرار حدوث هذه المشكلة.
في السيناريو الخاص بنا ، كانت المشكلة هي عناوين الأصول الموثوقة المحددة في قناة Directline. على سبيل المثال ، تنص النافذة المنبثقة Directline على أن الأصول الموثوقة يجب أن تكون _https_ أو _http_ لـ _localhost_. هذا من شأنه أن يفسر Directline باعتباره القناة الوحيدة التي فشلت بالنسبة لك.
للتحقق مما إذا كانت هذه هي مشكلتك أيضًا ، يمكنك محاولة تعيينها كأصول موثوقة:
عنوان الروبوت الخاص بك (إما https://xxxxx.azurewebsites.net أو https://xxxx.ngrok.io إذا كنت تقوم بالتصحيح محليًا)
المضيف المحلي الخاص بك إذا كنت في حاجة إليه ، مثل http: // localhost
الإعداد لإعادة إنتاج هذا كان:
كانت خطواتنا هي:
الرجاء إخبارنا إذا كان هذا مفيدًا. سنهتم بردودكم.
شكرا لك @ matiasroldan6 للنظر في هذا. الإعدادات التي تظهرها أعلاه هي نفسها التي نستخدمها. لقد أزلنا مسار المضيف المحلي ولدينا فقط عنوان الروبوت في الأصول الموثوقة لقناة الخط المباشر (https://xxxxx.azurewebsites.net). لا تزال المهارة غير مستجيبة بعد مطالبة تسجيل الدخول وإذا قمنا بإلغاء المحادثة واستدعاء المهارة مرة أخرى ، فستحصل على الرمز المميز وتواصل الحوار. ما زلنا غير قادرين على الحصول على مهارة استلام الرمز المميز بعد أن يقوم المستخدم بتسجيل الدخول.
شكرًا على ردك @ tomSauret847 - سنواصل العمل على هذا في محاولة للعثور على حل لهذه المشكلة 😊.
لدينا أسئلة لفهم كيفية استخدامك لنقطة النهاية azurewebsites.net
مع الأخذ في الاعتبار الإصدار 1.0 من حلول الروبوت (PR # 3583):
Messaging endpoint
من برنامج Web App المنشور (المساعد الافتراضي)؟.tgz
. هل هذا صحيح؟شكرا لك @ Batta32
شكرًا @ tomSauret847 ، سنواصل مراجعة هذه المشكلة بهذه المعلومات الجديدة التي قدمتها! بمجرد حصولنا على أي تحديث ، سنعود إليك 😊.
مرحبًا @ tomSauret847 ، لقد نجحنا في إعادة إنتاج تكرار لهذه المشكلة.
أحد الأشياء التي لاحظناها من ردودك السابقة هو أنك تستخدم عنوان URL الخاص بالبوت كأصل موثوق.
وفقًا لهذا التعليق وهذه الوثائق ، يجب أن يكون لديك عنوان URL لبرنامج الدردشة الخاص بك.
كان إعدادنا:
خطوات:
سنستمر في مراجعة هذه المشكلة كما أكدنا وكما ذكرت ، يعمل هذا في Microsoft Teams and Emulator.
مرحبًا @ tomSauret847 ، نجحنا في تنفيذ عملية المصادقة باستخدام المصادقة المحسّنة.
توصلنا إلى بعض الأسئلة حتى تتمكن من التحقق من جانبنا:
<WEB_APP_BOT_NAME>
باسم مورد الروبوت الخاص بك؟ تحقق مما إذا كان لديك node_modules
و lib
وبقية المجلدات.هذا هو بيئتنا:
اتبعنا هذه الخطوات :
.tgz
في كلا النموذجين"bot-solutions": ".//TGZ//bot-solutions-1.0.0.tgz"
للروبوتاتdeploy.ps1
publish.ps1
run sample dialog
وأخيرا وليس آخرا، أكدنا نفس الخطوات باستخدام C # السير وتأكدت من أنه يعمل بشكل صحيح أيضا.
سنكون مهتمين بردك 😊
_تكوين المصادقة المحسّنة_
_تواصل ناجح باستخدام المصادقة المحسّنة وروبوتات TypeScript_
_تواصل ناجح باستخدام المصادقة المحسّنة و C # bots_
شكرا @ VictorGrycuk. نأسف للرد المتأخر الذي كنا بحاجة إليه لإعداد مثيل اختبار للتحقق من الإصلاح. لقد تمكنا من الحصول على المصادقة للعمل في مثيل الاختبار وقمنا بتضييق نطاق المشكلة.
على سبيل المثال لدينا من VA / المهارات لدينا وراء بوابة التطبيق مع جدار حماية. يبدو أن هذا هو سبب عدم عمل المصادقة المحسّنة. عندما ننفذ هذا على VA ومهارة خارج هذا التكوين ، فإنه يعمل بشكل صحيح. تضع بوابة التطبيق مضيفًا آخر في المزيج ونعتقد أن هذا هو ما يحظر الرمز المميز. إذن لدينا السؤال التالي ،
هل هناك طريقة للحصول على المصادقة المحسّنة للعمل مع روبوت خلف بوابة التطبيقات؟
@ tomSauret847 عظيم! سنجري بحثًا وبعض الاختبارات لمراجعة طريقة الحصول على المصادقة المحسّنة التي تعمل مع روبوت خلف بوابة التطبيقات.
بمجرد حصولنا على أي تحديث لهذا ، سنخبرك هنا 😊.
مرحبًا @ tomSauret847 ، لقد أجرينا القليل من البحث الأسئلة .
سنهتم بإجابتك 🙂
شكرًا لك على الرد VictorGrycuk هنا إجابات
نحن نختبر مع الروبوتات المنتشرة في Azure. لا يمكننا إنشاء نفق للاختبار محليًا.
نعم ، نحن نستخدم بوابة تطبيق Azure مع WAF كما هو موضح في الارتباط الخاص بك
هذه هي روبوتات TypeScript (مهارات VA و 2 مع المصادقة) نحن نستخدم مهارة واحدة فقط C # للتغلب على مشكلة الحلقة المتزامنة وليس لديها مصادقة فيها.
مرحبًا @ tomSauret847 ، آسف للتأخير - نعتقد أنه من الممكن استخدام المصادقة المحسّنة مع Azure App Gateway التي تدعم الروبوتات.
زوجان من الأسئلة الإضافية:
المكونات :
التكوين :
سنعمل على تكرار هذا السيناريو.
شكرا @ VictorGrycuk الإجابة على أسئلتك
هل يمكنك الاتصال بالمساعد الظاهري باستخدام محاكي باستخدام عنوان IP العام للبوابة؟ في اختبارنا أكدنا أن هذا ممكن
هل يمكنك الاتصال والتواصل بمهارة من خلال VA دون تحسين الاتصال؟
مرحبًا @ tomSauret847 ، يمكننا أن نؤكد أن المصادقة المحسّنة تعمل مع الروبوتات الموجودة خلف بوابة تطبيق Azure.
أنشأنا PR # 3694 الذي يتضمن وثائق جديدة حول كيفية تكوين Azure Application Gateway باستخدام روبوت تم نشره.
لقد قمنا باختبارنا باتباع الخطوات التالية :
نظرًا لأن هذا يبدو مشكلة تكوين لـ Azure Application Gateway ، أقترح عليك أن تسأل في https://stackoverflow.com/questions/tagged/botframework للحصول على اقتراحات ؛ وإذا كنت بخير ، فيمكننا إغلاق هذه المشكلة 🙂.
شكرًا لك VictorGrycuk ، سنعمل من خلال المعلومات التي نشرتها. لقد لاحظت بالفعل أن هذا الرابط معطل.
شكرًا @ tomSauret847 ، تكوين فحص صحة البوابة باستخدام روبوت TypeScript (بالإضافة إلى هذه الصورة ) بمجرد دمج المستندات في فرع master
، حيث تستخدم الوثائق {{site.baseurl}}
لـ إنشاء عناوين URL.
peterinnesmsft - يمكننا إغلاق المشكلة بسبب عدم النشاط. @ tomSauret847 إذا كنت لا تزال تواجه مشكلات ، فلا تتردد في إعادة التنشيط ويمكننا إعادة ذلك مرة أخرى ، أو إنشاء عدد جديد!
أيضًا ، إذا كان لديك أي سؤال ، فيرجى طرحه على https://stackoverflow.com/questions/tagged/botframework.
سيتم حل عملية المصادقة بأكملها بمجرد دمج العلاقات العامة التالية في TypeScript الإصدار 1.0:
[TypeScript][Bot-Solutions] Implement changes in Bot-Solutions to 1.0 release
[TypeScript][Virtual Assistant] Implement changes in Virtual Assistant to 1.0 release
[TypeScript][Skill] Implement changes in Skill to 1.0 release
شكرًا لك @ Batta32 على
@ Batta32 لدينا سؤال سريع حول هذا الموضوع. هل يتوفر الدخول الموحّد (SSO) للنسخة المطبوعة حتى الآن؟ وجدنا أن المشكلة تكمن في أن مهاراتنا وراء جدار حماية وغير قادرين على تلقي استجابة الرمز المميز. عندما نقوم بتمرير بيانات اعتماد VA فيه ، لا يتم إعادة توجيه الرمز المميز إلى المهارة ، إنه مجرد إعادة تشغيل المحادثة. إذا كان الدخول الموحّد (SSO) للنسخة المطبوعة غير متاح ، فمتى تتوقع أن يكون؟ شكرا لك على كل مساعدتك في هذه المسألة.
مرحبًا @ tomSauret847 ، لا يتوفر SSO لـ TypeScript حاليًا نظرًا لأنه تم طرحه في الإصدار 1.0. يجب الموافقة على العلاقات العامة الخاصة بالإصدار 1.0 من TypeScript ودمجها من أجل إصدار إصدار جديد بهذه الميزة.
سنخبرك بمجرد حصولنا على أي تحديث 😊.
التعليق الأكثر فائدة
شكرا مرة أخرى @ Batta32! لقد استخدمت الحزمة 1.0 للاختبار. ما زلت بحاجة إلى الاحتفاظ بإعداد اتصال في المهارة ، لكنني قادر على الحصول على المصادقة للعمل. لقد تمكنت من معرفة المكان الذي يتلقى فيه VA استجابة الرمز المميز وإعادة توجيهه إلى المهارة التي يجب معالجتها.