Как изменить отображаемое имя пользователя в MS Bot Framework при использовании прямого канала - PullRequest
0 голосов
/ 03 мая 2018

Бот разрабатывается с использованием аутентификации AAD, в которой мы выбрали прямую линию в качестве нашего канала. Теперь мы попытались отобразить имя пользователя аутентифицированного лица по месту использования в приведенном ниже фрагменте.

<script>
BotChat.App({
    directLine: { secret: "***********" },
    user: { id: 'userid' },
    bot: { id: 'botid' },
    resize: 'detect'
}, document.getElementById("bot"));
</script>

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

мы попытались отобразить имя пользователя аутентифицированного лица по месту использования в приведенном ниже фрагменте

Я предполагаю, что вы являетесь разработчиком .NET и хотите динамически передавать идентификационные данные пользователя в BotChat. Вы можете попробовать следующий подход:

  • В приложении ASP.NET MVC вы можете получить информацию о пользователе от контроллера и сохранить ее в ViewBag, затем вы можете извлечь значение из ViewBag и динамически передать его как userid при запуске BotChat. Следующий фрагмент кода для вашей справки.

В контроллере:

public ActionResult Chat()
{
    ViewBag.userinfo = User.Identity.GetUserName();
    return View();
}

В поле зрения:

<script>
    $(function () {
        var userid = '@(ViewBag.userinfo)';
        //alert(userid);

        BotChat.App({
            directLine: { secret: "{directline_secret}" },
            user: { id: userid},
            bot: { id: 'fehanbotdg' },
            resize: 'detect'
        }, document.getElementById("bot"));
    })
</script>

Результат теста:

enter image description here

  • В приложении веб-формы ASP.NET вы можете получить информацию о пользователе из кода и сохранить ее в скрытом поле, затем вы можете получить информацию о пользователе из скрытого поля и использовать ее для запуска BotChat.
0 голосов
/ 03 мая 2018

Изменение

user: { id: 'userid' },

К

user: { id: yourUserIdFromAad },

Вы даже можете добавить пользователя: {id: yourUserIdFromAad, name: yourUserDisplayName},

...