Botframework-solutions: المصادقة لا تعمل في TypeScript Skill

تم إنشاؤها على ٢٠ يوليو ٢٠٢٠  ·  38تعليقات  ·  مصدر: microsoft/botframework-solutions

ما المشروع المتأثر؟

TypeScript الظاهري المساعد والمهارة

بأي لغة هذه؟

تيبسكريبت

ماذا يحدث؟

تم إلقاء الخطأ التالي عند محاولة المصادقة

خطأ: DialogContext.beginDialog (): لم يتم العثور على مربع حوار بمعرف 'AuthPrompt'.
في WaterfallStepContext.(D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 123: 23)
في 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.(D: \ home \ site \ wwwroot \ node_modules \ botbuilder-Dials \ lib \ waterfallDialog.js: 192: 48)
في Generator.next ()
في D: \ home \ site \ wwwroot \ node_modules \ botbuilder-Dials \ lib \ waterfallDialog.js: 7: 71

ما هي خطوات إعادة إظهار هذه المشكلة؟

نشر المساعد الافتراضي والمهارة. قم بتمكين MultiProviderAuthDialog في المهارة
استخدم مربع حوار المصادقة للمصادقة باستخدام Azure Active Directory v2

ماذا كنت تتوقع أن يحدث؟

احصل على بطاقة تسجيل الدخول لتسجيل الدخول

هل يمكنك مشاركة أي سجلات أو ناتج خطأ وما إلى ذلك؟

خطأ: DialogContext.beginDialog (): لم يتم العثور على مربع حوار بمعرف 'AuthPrompt'.
في WaterfallStepContext.(D: \ home \ site \ wwwroot \ node_modules \ botbuilder-الحوارs \ lib \ الحوارContext.js: 123: 23)
في 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.(D: \ home \ site \ wwwroot \ node_modules \ botbuilder-Dials \ lib \ waterfallDialog.js: 192: 48)
في Generator.next ()
في D: \ home \ site \ wwwroot \ node_modules \ botbuilder-Dials \ lib \ waterfallDialog.js: 7: 71

أي لقطات أو سياق إضافي؟

Skills Bot Services Kobuk bug customer-replied-to customer-reported in-progress

التعليق الأكثر فائدة

شكرا مرة أخرى @ Batta32! لقد استخدمت الحزمة 1.0 للاختبار. ما زلت بحاجة إلى الاحتفاظ بإعداد اتصال في المهارة ، لكنني قادر على الحصول على المصادقة للعمل. لقد تمكنت من معرفة المكان الذي يتلقى فيه VA استجابة الرمز المميز وإعادة توجيهه إلى المهارة التي يجب معالجتها.

ال 38 كومينتر

شكرًا لك @ tomSauret847 على الإبلاغ عن هذه المشكلة! بمجرد حصولنا على أي تحديث ، سنعود إليك 😊.

مرحبا @ tomSauret847 - آسف على التأخير. لقد نجحنا في إعادة إظهار المشكلة باستخدام TypeScript Skill باتباع الخطوات التالية:

  1. قم بإلغاء التعليق على الأسطر في
  2. تمرير OAuthPromptSettings مجموعة إلى MultiProviderAuthDialog منشئ
  3. أضف appsettings.oauthConnections إلى خصائص botSettings
  4. إضافة اتصال AADv2
  5. قم بإعداد اتصال AADv2 للتسجيل في Azure

بمجرد حصولنا على أي تحديث ، سنعود إليك 😊.

image

مرحبًا @ tomSauret847 - لقد أصلحنا هذه المشكلة في هذا الالتزام .

كانت هذه في الواقع مشكلة في مكتبة bot-solutions ، وقد حددنا موعدًا لإصدار الإصلاح مع الإصدار 1.0 من المكتبة.

في غضون ذلك ، إذا كنت تريد طريقة لاختبار الإصلاح بنفسك ، فيمكنك اتباع الخطوات التالية :

  1. تحقق من هذا الفرع ، مع الإصلاح المطبق على الإصدار 0.8 من المكتبة.
  2. انتقل إلى مجلد bot-Solutions
  3. قم بتنفيذ npm install لتثبيت تبعياته.
  4. نفّذ npm run build لإنشاء الحل.
  5. قم بتنفيذ npm pack لإنشاء ملف .tgz . يجب أن ينشئ ملفًا في نفس الموقع ، يسمى bot-Solutions-version.tgz
  6. أشر إلى tgz الذي تم إنشاؤه في روبوت المهارة الخاص بك ، واستبدل مرجع حلول الروبوت في حزمة bot.json من "bot-solutions": "^1.0.0" إلى "bot-solutions": "<PATH_TO_TGZ>"
  7. تحقق من المصادقة باستخدام المهارة

image

سنهتم بردودكم.

شكرًا لك على النظر في هذا @ Batta32 ما زلت أتلقى خطأ في هذه العملية. الخطأ هو
خطأ: تعذر العثور على إعداد الاتصال بالاسم {اسم الاتصال}

أقوم بإعداد الاتصال كما هو موضح هنا لإعداد SSO لمهارة.

هل ما زلنا بحاجة إلى اتصال مصادقة في كل مهارة بمهارات الطباعة على الحروف؟
أو هل يمكننا استخدام SSO الفردي كما هو موضح لمهارات C #؟

إذا أضفت الاتصال على المهارة ، فسوف أحصل على موجه تسجيل الدخول كما فعلت ولكني لن أتلقى الرمز مرة أخرى بعد إكمال تسجيل الدخول. إذا كان بإمكانك توضيح ما إذا كنا بحاجة إلى إعداد اتصال واحد في VA أو إذا نحتاج إلى إعداد اتصالات في كل من المهارات التي تتطلب المصادقة.

شكرا @ tomSauret847 على ردكم. بمجرد حصولنا على أي تحديث ، سنعود إليك 😊!

مرحبا @ tomSauret847 - لدينا تتكرر هذه المسألة بنجاح. يرجع السبب في ذلك إلى أن الخاصية name الموجودة في oauthConnections من appsettings.json تختلف عن الخاصية connectionName في OAuthPromptSettings الذي تستخدمه.

سنواصل مراجعة هذا وتحليل الأسئلة التي ذكرتها أعلاه. بمجرد حصولنا على أي تحديث ، سنعود إليك 😊.

كانت الخطوات التي اتبعناها لإعادة إظهار المشكلة هي:

  1. اتبع خطوات هذا التعليق
  2. بعد ذلك ، اتبع خطوات هذا التعليق
  3. تحقق من أن الخاصية name في oauthConnections من appsettings.json تختلف عن الخاصية connectionName في OAuthPromptSettings الذي تستخدمه
  4. ابدأ المهارة واكتب "تشغيل نموذج الحوار" ، وانظر إلى الخطأ

_عندما يكون اسم الاتصال والاسم مختلفين ، تظهر المشكلة مرة أخرى_
image

_تم إعادة إصدار المشكلة_
image

مرحبا @ 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 - شكرا

  • PR # 3583: [TypeScript][Bot-Solutions] Implement changes in Bot-Solutions to 1.0 release
  • PR # 3584: [TypeScript][Virtual Assistant] Implement changes in Virtual Assistant to 1.0 release
  • PR # 3585: [TypeScript][Skill] Implement changes in Skill to 1.0 release

سنبلغك بمجرد حصولنا على أي تحديث بشأن هذا. في غضون ذلك ، نحن نعمل على التحقق من صحة عملية المصادقة في TypeScript.

@ tomSauret847 - حددنا مشكلة أخرى أن متغير حالة المهارة كان _undefined_ أثناء عملية المصادقة.

اتخذنا كدليل دليل PR # 3561 الذي يحدد قيمة افتراضية لموصّل حالة المهارة الذي قمنا بتضمينه في هذا الالتزام .
بعد تطبيق هذه التغييرات ، تعمل عملية المصادقة بشكل صحيح. سيتم إصلاح هذه المشكلة بمجرد دمج TypeScript v1.0.

هذه هي بيئتنا باستخدام هذا الفرع : feature/southworks/test-fix-auth-skill :

في غضون ذلك ، إذا كنت تريد طريقة لاختبار الإصلاح بنفسك ، فيمكنك اتباع الخطوات التالية:

  1. انتقل إلى مجلد bot-Solutions
  2. قم بتنفيذ npm install لتثبيت تبعياته.
  3. نفّذ npm run build لإنشاء الحل.
  4. قم بتنفيذ npm pack لإنشاء ملف .tgz. يجب أن ينشئ ملفًا في نفس الموقع ، يسمى bot-Solutions-version.tgz
  5. انتقل إلى مجلد نموذج المهارة
  6. أشر إلى tgz الذي تم إنشاؤه في روبوت نموذج المهارة ، واستبدل مرجع حلول الروبوت في حزمة bot.json من "bot-solutions": "^1.0.0" إلى "bot-solutions": "<PATH_TO_TGZ>"
  7. قم بتنفيذ npm install لتثبيت تبعياته.
  8. نفّذ npm run build لإنشاء الحل.
  9. تحقق من صحة عملية المصادقة

نحن مهتمون بإجابتك. 😊

_حصول متغير SkillState على قيمة غير محددة
image

_عمل عملية المصادقة بشكل صحيح_
image

شكرا مرة أخرى @ Batta32! لقد استخدمت الحزمة 1.0 للاختبار. ما زلت بحاجة إلى الاحتفاظ بإعداد اتصال في المهارة ، لكنني قادر على الحصول على المصادقة للعمل. لقد تمكنت من معرفة المكان الذي يتلقى فيه VA استجابة الرمز المميز وإعادة توجيهه إلى المهارة التي يجب معالجتها.

@ Batta32 لدينا مصادقة الإعداد في 2 من مهاراتنا وهي تعمل بشكل جيد في قناة Teams. لا تتجاوز قناة الخط المباشر مطالبة المصادقة. المهارة لا تسترجع الرمز المميز بعد تسجيل الدخول بنجاح. هذه المشكلة موجودة فقط في قناة الخط المباشر لدينا. نحن نستخدم نموذج عميل الخط المباشر الذي تم توفيره وتمكينه من خيارات المصادقة المحسنة حتى لا ندخل "الرمز السحري". لقد نجحت قبل إضافة المصادقة المحسّنة ولكن بعد إضافة هذه الميزة ، لم تعد المهارة تتلقى استجابة الرمز المميز مرة أخرى. إذا ألغينا المهارة وعدنا إلى هذا الحوار ، فسيكون الرمز المميز موجودًا ويمكننا إكمال الحوار. اسمحوا لي أن أعرف إذا كان لديك أي أفكار حول سبب هذا.

شكرًا @ tomSauret847 ، وسنعود إليك في أقرب وقت ممكن!

فقط لبدء مراجعة السيناريو:

  1. ماذا تقصد ب "نموذج عميل الخط المباشر"؟
  2. أي عميل تستخدم؟
  3. ماذا تقصد ب "ماجيك كود"؟

شكرا لك مرة أخرى @ Batta32 للنظر في هذا. نحن نستخدم عينة الخط المباشر من مستودع حلول botbuilder الموجود هنا
تم شرح "الكود السحري" في هذا السؤال حول تجاوز سعة المكدس هنا
إنه مجرد رمز مطلوب من مستخدم الروبوت نسخه ولصقه مرة أخرى في المحادثة بعد المصادقة بنجاح. من خلال تنفيذ المصادقة المحسّنة ، تزيل هذه الخطوة لمستخدم الروبوت بحيث يحتاج فقط إلى المصادقة وتتقدم المحادثة للأمام حيث يتم تمرير الرمز المميز إلى الروبوت خلف الكواليس.

شكرًا جزيلاً على tomSauret847 ،

مرحبًا @ tomSauret847 ، لم نتمكن من إعادة إنتاج هذه المشكلة نظرًا لأن سيناريو المصادقة يعمل بشكل صحيح.

توصلنا إليك ببعض الأسئلة :

  1. هل تحققت مما إذا كانت هذه المشكلة تحدث أثناء التحدث مباشرة إلى المهارة ، دون الاتصال بمساعد افتراضي؟
  2. إذا كنت تمر عبر VA للاتصال بالمهارة ، فهل تقوم بتمكين قناة Directline في VA أيضًا؟ ما الذي قمت بتعيينه أيضًا فيه ، مصادقة Azure AD v2 ، مصادقة محسّنة؟
  3. ماذا تقصد بـ "إذا ألغينا المهارة وعدنا إلى هذا الحوار ، فسيكون الرمز المميز موجودًا ويمكننا إكمال الحوار"؟

هذا هو الإعداد الذي كنا نستخدمه:

  • ونتج عن نسخة مطبوعة على الآلة الكاتبة المهارة مع [email protected]
  • إعداد مصادقة نوع Azure AD v2 على تلك المهارة
  • تم تمكين قناة الخط المباشر بمصادقة محسنة على المهارة
  • تم تعيين نموذج ويب Directline من المستودع إلى معرف مستخدم محدد ("dl_xxxx")
  • تم تعيين appsettings.json في عميل Directline بالمثل على هذا:
{
    "Logging": {
        "LogLevel": {
            "Default": "Warning"
        }
    },
    "AllowedHosts": "*",
    "BotName": "skillbot-name",
    "DirectLineSecret": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "EnableDirectLineEnhancedAuthentication": true,
    "SpeechServiceRegionIdentifier": "",
    "SpeechServiceSubscriptionKey": ""
}

الخطوات التي اتبعناها هي:

  1. الاتصال بالمهارة من خلال عميل Directline
  2. استدعاء مربع حوار تسجيل الدخول ("تشغيل نموذج مربع الحوار")
  3. النقر على زر تسجيل الدخول (لا داعي لـ "الكود السحري")
  4. نجحنا في تسجيل الدخول والروبوت يحيينا
  5. من ذلك الوقت فصاعدًا ، في كل مرة نكرر فيها الخطوتين 1 و 2 ، يتم تسجيل الدخول تلقائيًا ويتم الترحيب بنا بواسطة الروبوت

سنكون منتبهين لإجابتك.

شكرا لك @ matiasroldan6 للنظر في هذا. للإجابة على أسئلتكم

  1. نحن غير قادرين على الاتصال بالمهارة مباشرة كما لدينا داخل VNET لذلك لا يمكن للقنوات الوصول إليها
  2. لقد وصلنا إلى المهارة من خلال VA وقمنا بتكوين قناة الخط المباشر على VA فقط. نحن نستخدم مصادقة Azure AD V2 في خصائص الاتصال في Skill و VA. لدينا مجموعة المصادقة المحسنة على VA
  3. إذا أكملنا تسجيل الدخول عند تقديم بطاقة تسجيل الدخول. سيتعطل الروبوت ولن يتحرك للأمام. إذا ألغينا ، فارجع إلى المهارة التي تحتوي على مصادقة ، فهي تحتوي على الرمز وتتجاوز مطالبة تسجيل الدخول وتسمح لنا بالمتابعة. لدينا مهارتان في المصادقة ، وإذا قمنا بالمصادقة في واحدة ، فسيتم توثيقنا في الثانية أيضًا.
    هذه لقطة شاشة لتكويننا لقناة الخط المباشر على VA
    image

لدينا معرف المستخدم مضبوطًا على "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
image

الإعداد لإعادة إنتاج هذا كان:

  • 1.0 مساعد افتراضي مع

    • Bot-Solutions 1.0 في التبعيات

    • تم تمكين مصادقة Azure AD v2

    • تم تمكين قناة الخط المباشر مع تشغيل المصادقة المحسّنة

    • تم تعيين الأصول الموثوقة في قناة Directline على https: // localhost : xxxx (_xxxx_ هو عنوان عميل Directline) وعنوان البوت (https://xxxxx.azurewebsites.net أو https://xxxx.ngrok.io للاتصالات المحلية ). لقد فعلنا ذلك بمحاكاة الإعدادات من الصورة التي أرفقتها في رسالتك الأخيرة.

  • مهارة 1.0 مع

    • Bot-Solutions 1.0 في التبعيات

    • تم تمكين مصادقة Azure AD v2

    • متصل بالمساعد الظاهري.

  • تم تعيين عميل الويب المباشر مع معرف المستخدم والمصادقة المحسنة بنفس التكوين من رسالتنا السابقة.

كانت خطواتنا هي:

  1. قم بتوصيل نموذج Directline بالمساعد.
  2. محاولة تشغيل المصادقة ("تشغيل نموذج مربع الحوار").
  3. يظهر مربع حوار المصادقة ولكن بعد النقر فوق الزر ، لا يحدث شيء ، ويصبح الروبوت غير مستجيب ، حتى للمحاولات الإضافية لاستدعاء المصادقة.
    image
  1. قم بإلغاء التدفق ثم أعد تشغيل الخطوتين 1 و 2 ، ثم تتم المصادقة علينا تلقائيًا ويتم الترحيب بنا من قبل الروبوت.

الرجاء إخبارنا إذا كان هذا مفيدًا. سنهتم بردودكم.

شكرا لك @ matiasroldan6 للنظر في هذا. الإعدادات التي تظهرها أعلاه هي نفسها التي نستخدمها. لقد أزلنا مسار المضيف المحلي ولدينا فقط عنوان الروبوت في الأصول الموثوقة لقناة الخط المباشر (https://xxxxx.azurewebsites.net). لا تزال المهارة غير مستجيبة بعد مطالبة تسجيل الدخول وإذا قمنا بإلغاء المحادثة واستدعاء المهارة مرة أخرى ، فستحصل على الرمز المميز وتواصل الحوار. ما زلنا غير قادرين على الحصول على مهارة استلام الرمز المميز بعد أن يقوم المستخدم بتسجيل الدخول.

شكرًا على ردك @ tomSauret847 - سنواصل العمل على هذا في محاولة للعثور على حل لهذه المشكلة 😊.

لدينا أسئلة لفهم كيفية استخدامك لنقطة النهاية azurewebsites.net مع الأخذ في الاعتبار الإصدار 1.0 من حلول الروبوت (PR # 3583):

  1. هل تستخدم Messaging endpoint من برنامج Web App المنشور (المساعد الافتراضي)؟
  2. كيف قمت بدمج الإصدار 1.0 من حلول الروبوت في Virtual Assistant and Skill الذي نشرته؟ نحن نتفهم أنك استخدمت حزمة المكتبة .tgz . هل هذا صحيح؟
  3. هل هناك أي إمكانية للاختبار باستخدام نقطة نهاية المضيف المحلي لتكوينها على النحو الوارد أعلاه في تكوين قناة الخط المباشر؟

شكرا لك @ Batta32

  1. نحن نستخدم نقطة نهاية المراسلة الخاصة بـ VA في تكوين المضيف الموثوق به.
  2. نحن نستخدم الحزمة .tgz التي تم استنساخها من الإصدار 1.0. أزلنا مجلد node_modules وملفات package-lock.json قبل نقل الحزمة .tgz. ثم حدّث ملف package.json ثم شغّل تثبيت npm
  3. لقد اختبرنا مع المضيف المحلي وتلقينا نفس الرد. ما زلنا غير قادرين على تمرير الرمز المميز عبر المحادثة ، ولكن عند إلغاء مربع الحوار وبدء التشغيل مرة أخرى ، يكون الرمز المميز موجودًا.

شكرًا @ tomSauret847 ، سنواصل مراجعة هذه المشكلة بهذه المعلومات الجديدة التي قدمتها! بمجرد حصولنا على أي تحديث ، سنعود إليك 😊.

مرحبًا @ tomSauret847 ، لقد نجحنا في إعادة إنتاج تكرار لهذه المشكلة.

أحد الأشياء التي لاحظناها من ردودك السابقة هو أنك تستخدم عنوان URL الخاص بالبوت كأصل موثوق.
وفقًا لهذا التعليق وهذه الوثائق ، يجب أن يكون لديك عنوان URL لبرنامج الدردشة الخاص بك.
image

كان إعدادنا:

خطوات:

  1. استخدم عميل الويب Directline للاتصال بالمساعد الظاهري
  2. استدعاء المهارة ("تشغيل نموذج مربع الحوار")
  3. يتم تقديم زر المصادقة بواسطة Skill ، انقر فوقه (لا يحدث شيء)
  4. يؤدي تكرار الخطوة 2 إلى المصادقة علينا تلقائيًا ، دون عرض زر المصادقة.

سنستمر في مراجعة هذه المشكلة كما أكدنا وكما ذكرت ، يعمل هذا في Microsoft Teams and Emulator.
image

مرحبًا @ tomSauret847 ، نجحنا في تنفيذ عملية المصادقة باستخدام المصادقة المحسّنة.

توصلنا إلى بعض الأسئلة حتى تتمكن من التحقق من جانبنا:

  1. هل يمكنك التحقق مما إذا كان لديك المجلدات المنشورة للروبوتات التي تم نشرها والتي تصل إلى Kudu (https: //.scm.azurewebsites.net / ZipDeployUI) استبدال <WEB_APP_BOT_NAME> باسم مورد الروبوت الخاص بك؟ تحقق مما إذا كان لديك node_modules و lib وبقية المجلدات.
  2. هل يمكنك التحقق مما إذا كانت نقطة نهاية المراسلة الخاصة بالروبوتات هي نقطة نهاية الإنتاج (azurewebsites.net)؟
  3. هل قمت بتوصيل المساعد الافتراضي بالمهارات باستخدام نقطة نهاية الإنتاج؟
  4. هل يمكنك التحقق مما إذا كان بإمكانك الوصول إلى بيان المهارة الخاص بالمهارة المنشورة؟ إذا لم يكن كذلك ، أضف تغييرات PR # 3601

هذا هو بيئتنا:

اتبعنا هذه الخطوات :

  1. قم بتطبيق التغييرات على PR # 3601 في المهارة
  2. أنشئ مجلدًا لتخزين ملف Bot-Solutions 1.0 .tgz في كلا النموذجين
  3. قم بتوجيه مرجع حلول الروبوت إلى tgz المحلي ، مثل "bot-solutions": ".//TGZ//bot-solutions-1.0.0.tgz" للروبوتات
  4. انشر الروبوتات باستخدام deploy.ps1
  5. قم بتوصيل كلا العيّنتين بـ Botskills باستخدام RemoteManifest
  6. قم بتكوين إعدادات اتصال OAuth لكلا النموذجين باستخدام AADv2
  7. قم بتكوين اتصالات oauthConnections في إعدادات التطبيقات لكل عينة
  8. انشر كلا النموذجين باستخدام البرنامج النصي publish.ps1
  9. قم بتنشيط قناة Directline على المساعد الظاهري
  10. قم بتمكين المصادقة المحسّنة على الخط المباشر للمساعد الظاهري
  11. قم بتوصيل نموذج Directline بالمساعد الظاهري

    1. ملاحظة : قم بتحديث هذا السطر إلى GUID ثابت إذا كنت ترغب في الحفاظ على المحادثة

  12. أخيرًا ، قم بتشغيل المصادقة باستخدام run sample dialog
  13. بعد تسجيل الدخول ، ستطلب المهارة اسمًا
  14. تحقق من أن المصادقة المحسنة تعمل بشكل صحيح

وأخيرا وليس آخرا، أكدنا نفس الخطوات باستخدام C # السير وتأكدت من أنه يعمل بشكل صحيح أيضا.

سنكون مهتمين بردك 😊

_تكوين المصادقة المحسّنة_
image

_تواصل ناجح باستخدام المصادقة المحسّنة وروبوتات TypeScript_
auth fixed

_تواصل ناجح باستخدام المصادقة المحسّنة و C # bots_
image

شكرا @ VictorGrycuk. نأسف للرد المتأخر الذي كنا بحاجة إليه لإعداد مثيل اختبار للتحقق من الإصلاح. لقد تمكنا من الحصول على المصادقة للعمل في مثيل الاختبار وقمنا بتضييق نطاق المشكلة.

على سبيل المثال لدينا من VA / المهارات لدينا وراء بوابة التطبيق مع جدار حماية. يبدو أن هذا هو سبب عدم عمل المصادقة المحسّنة. عندما ننفذ هذا على VA ومهارة خارج هذا التكوين ، فإنه يعمل بشكل صحيح. تضع بوابة التطبيق مضيفًا آخر في المزيج ونعتقد أن هذا هو ما يحظر الرمز المميز. إذن لدينا السؤال التالي ،

هل هناك طريقة للحصول على المصادقة المحسّنة للعمل مع روبوت خلف بوابة التطبيقات؟

@ tomSauret847 عظيم! سنجري بحثًا وبعض الاختبارات لمراجعة طريقة الحصول على المصادقة المحسّنة التي تعمل مع روبوت خلف بوابة التطبيقات.

بمجرد حصولنا على أي تحديث لهذا ، سنخبرك هنا 😊.

مرحبًا @ tomSauret847 ، لقد أجرينا القليل من البحث الأسئلة .

  1. هل تختبر باستخدام الروبوتات المنتشرة في Azure أو خادم الوعود؟
  2. هل بوابة التطبيق الخاصة بك هي عبارة عن بوابة تطبيق Azure ؟
  3. هل تستخدم TypeScript أو C # bots؟ كما ذكرت سابقًا ، انتقلت إلى C # bots.

سنهتم بإجابتك 🙂

شكرًا لك على الرد VictorGrycuk هنا إجابات

  1. نحن نختبر مع الروبوتات المنتشرة في Azure. لا يمكننا إنشاء نفق للاختبار محليًا.

  2. نعم ، نحن نستخدم بوابة تطبيق Azure مع WAF كما هو موضح في الارتباط الخاص بك

  3. هذه هي روبوتات TypeScript (مهارات VA و 2 مع المصادقة) نحن نستخدم مهارة واحدة فقط C # للتغلب على مشكلة الحلقة المتزامنة وليس لديها مصادقة فيها.

مرحبًا @ tomSauret847 ، آسف للتأخير - نعتقد أنه من الممكن استخدام المصادقة المحسّنة مع Azure App Gateway التي تدعم الروبوتات.

زوجان من الأسئلة الإضافية:

  1. هل يمكنك الاتصال بالمساعد الظاهري باستخدام محاكي باستخدام عنوان IP العام للبوابة؟ في اختبارنا أكدنا أن هذا ممكن
  2. هل يمكنك الاتصال والتواصل بمهارة من خلال VA دون تحسين الاتصال؟

المكونات :

التكوين :

  • المساعد الظاهري باستخدام المصادقة المحسّنة ، كما هو موضح في هذا التعليق
  • المهارة المتصلة بالمساعد الظاهري المكونة بالمصادقة
  • الخط المباشر كما تم تكوينه في نفس التعليق على النحو الوارد أعلاه
  • تشير بوابة التطبيق إلى الروبوت المنتشر كما هو موضح في هذه المقالة

سنعمل على تكرار هذا السيناريو.

شكرا @ VictorGrycuk الإجابة على أسئلتك
هل يمكنك الاتصال بالمساعد الظاهري باستخدام محاكي باستخدام عنوان IP العام للبوابة؟ في اختبارنا أكدنا أن هذا ممكن

  • ليس لدينا نفق متاح لنا ولا يمكننا الاتصال بـ VA باستخدام محاكي ولكن لدينا محادثة على الويب متاحة. سوف يتصل المساعد الافتراضي بالمهارة ويكمل الحوارات.

هل يمكنك الاتصال والتواصل بمهارة من خلال VA دون تحسين الاتصال؟

  • نعم ، إذا لم نستخدم المصادقة المحسّنة ، فيمكننا نسخ الرمز ولصقه وستعمل المصادقة كما هو متوقع. نود التكامل السلس الذي توفره المصادقة المحسنة لمستخدمينا.

مرحبًا @ tomSauret847 ، يمكننا أن نؤكد أن المصادقة المحسّنة تعمل مع الروبوتات الموجودة خلف بوابة تطبيق Azure.

أنشأنا PR # 3694 الذي يتضمن وثائق جديدة حول كيفية تكوين Azure Application Gateway باستخدام روبوت تم نشره.

لقد قمنا باختبارنا باتباع الخطوات التالية :

  1. اتبع الخطوات الموضحة في هذا التعليق لنشر الروبوتات باستخدام المصادقة المحسّنة
  2. اتبع الخطوات المفصلة في المستند تكوين التحقيق الصحي الخاص بالبوابة باستخدام روبوت TypeScript لتوصيل المساعد الظاهري
  3. اختبر تسجيل الدخول للمهارة التي تم نشرها باستخدام نموذج Directline
  4. عملت المصادقة المحسّنة واستمر حوار نموذج المهارة كما هو متوقع

نظرًا لأن هذا يبدو مشكلة تكوين لـ 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:

  • PR # 3583: [TypeScript][Bot-Solutions] Implement changes in Bot-Solutions to 1.0 release
  • PR # 3584: [TypeScript][Virtual Assistant] Implement changes in Virtual Assistant to 1.0 release
  • PR # 3585: [TypeScript][Skill] Implement changes in Skill to 1.0 release

شكرًا لك @ Batta32 على

@ Batta32 لدينا سؤال سريع حول هذا الموضوع. هل يتوفر الدخول الموحّد (SSO) للنسخة المطبوعة حتى الآن؟ وجدنا أن المشكلة تكمن في أن مهاراتنا وراء جدار حماية وغير قادرين على تلقي استجابة الرمز المميز. عندما نقوم بتمرير بيانات اعتماد VA فيه ، لا يتم إعادة توجيه الرمز المميز إلى المهارة ، إنه مجرد إعادة تشغيل المحادثة. إذا كان الدخول الموحّد (SSO) للنسخة المطبوعة غير متاح ، فمتى تتوقع أن يكون؟ شكرا لك على كل مساعدتك في هذه المسألة.

مرحبًا @ tomSauret847 ، لا يتوفر SSO لـ TypeScript حاليًا نظرًا لأنه تم طرحه في الإصدار 1.0. يجب الموافقة على العلاقات العامة الخاصة بالإصدار 1.0 من TypeScript ودمجها من أجل إصدار إصدار جديد بهذه الميزة.

سنخبرك بمجرد حصولنا على أي تحديث 😊.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات