Как выполнить аутентификацию Graph без размещения моего бота в Azure?

Насколько я понимаю, для OAuthPrompt требуется имя соединения. Чтобы создать это, мне нужно использовать регистрацию каналов бота (согласно документация). Однако для этого, похоже, мне нужно создать учетную запись Azure и ввести данные моей платежной карты. Я хотел бы не вводить свои данные, если это возможно, поскольку я не хотел бы взимать плату за использование каких-либо служб Azure. Есть ли способ избежать этого?

Если мне нужно вручную обрабатывать процесс OAuth, я бы хотел, чтобы мой вход в систему отображался в небольшом окне, подобно тому, как кнопка «Разрешить» срабатывает в боте Who. Я пробовал карточки SignIn, которые, как я читал, просто не работают в командах, и я также пробовал действия типа OpenUrl в карточке, которая при нажатии открывает URL-адрес в моем браузере, а не всплывающее окно. Как я могу этого добиться?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете создать бота Bot Framework (только для Microsoft Teams), используя руководство здесь: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/bots/bots-create. Подводя итог этой статье, вы можете использовать эту конечную точку для создания бота, отличного от Azure: https://dev.botframework.com/bots/новый.

Если вы решили использовать Azure Bot Framework, с вас не будет взиматься плата за Bot Framework, если Microsoft Teams является вашим единственным каналом (это НЕ включает вашу веб-службу, если вы решили разместить свой код бота в Azure, хотя вы можете выбрать бесплатный уровень, чтобы избежать каких-либо сборов).

Для аутентификации см. этот раздел документации MS Teams: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/authentication. В зависимости от того, как вы решили реализовать аутентификацию, в этом разделе есть несколько статей, которые могут быть применимы. Карта OAuth работает в Teams (не в бесплатной версии, не работает с гостевыми учетными записями и работает только с ботами Azure).

Для аутентификации, если вы перенаправляете на другой домен, убедитесь, что вы добавили его в validDomains в манифесте приложения.

Спасибо за Ваш ответ. А как насчет канала Graph? Это будет платный канал?

Brendan Hart 21.05.2019 23:49

В дополнение к OAuthCards я получаю «BotFrameworkAdapter.processActivity(): 500 ERROR — Ошибка: неизвестный тип вложения», когда пытаюсь отправить карту, созданную с помощью CardFactory.oauthCard.

Brendan Hart 22.05.2019 00:05

Что вы подразумеваете под графическим каналом?

Bill Bliss - MSFT 22.05.2019 00:07

@BillBliss-MSFT Извините, возможно, термин «канал» неверен, я имею в виду настройки подключения OAuth на странице регистрации каналов ботов. Я не уверен в плате за эту функцию и в том, что, если у меня есть 12-месячная бесплатная учетная запись, эта функция может быть потеряна по истечении срока ее действия. Если возможны сборы, я бы предпочел избежать этого метода аутентификации и вместо этого обработать его самостоятельно, но для этого я хотел бы использовать всплывающее окно, похожее на бота Who, а не открывать его в моем веб-браузере. Надеюсь, это имеет смысл.

Brendan Hart 22.05.2019 00:13

После дальнейшего чтения я думаю, что мне не хватило понимания того, что такое каналы. Я предполагаю, что теперь мой вопрос заключается в том, могу ли я настроить параметры подключения OAuth для канала Teams моего приложения без необходимости создания учетной записи Azure. Если бы я создал учетную запись Azure, активировалась бы эта функция после окончания 12 месяцев бесплатного уровня? Я еще не использовал портал Azure, а только использовал dev.botframework.com или веб-сайт студии приложений для регистрации своих ботов.

Brendan Hart 22.05.2019 01:08

OAuthCard работает только с ботами, созданными в Azure, а не с ботами, созданными на устаревшем портале. Вам нужно будет свернуть свою собственную авторизацию без нее. См. этот образец: github.com/OfficeDev/microsoft-teams-sample-auth-node. Мои извинения за то, что я не назвал это в своем первоначальном ответе (я обновил его, чтобы отразить)

Andrew Clear 23.05.2019 06:39

@AndrewClear Спасибо за вашу помощь. В любом случае, я могу выполнить свою собственную аутентификацию с помощью небольшого всплывающего окна, похожего на аутентификацию в боте Who, или страница входа всегда должна открываться в моем основном браузере?

Brendan Hart 23.05.2019 11:16

Да, пожалуйста, посмотрите образец, на который я ссылался в предыдущем комментарии. Там есть примеры как это сделать.

Andrew Clear 24.05.2019 18:52

@AndrewClear спасибо за помощь! Мне удалось заставить это работать. Моя проблема заключалась в том, что домен в моей кнопке входа не был добавлен к моим действительным URL-адресам ?

Brendan Hart 28.05.2019 23:50

Спасибо, что предложили окончательное решение, я отредактировал свой ответ, чтобы включить его.

Andrew Clear 30.05.2019 19:27

Другие вопросы по теме

Похожие вопросы