Как настроить URI перенаправления для портала приложений Microsoft для приложения групп Microsoft - PullRequest
0 голосов
/ 30 января 2019

Я создал веб-часть SharePoint и запустил ее в Microsoft Teams.

Веб-части необходимо отправить запрос в Microsoft Graph для проверки подлинности.Во время разработки я добавил URL перенаправления в apps.dev.microsoft.com, который указывал на мой локальный компьютер (https://localhost:4321/temp/workbench.html).Аутентификация работала нормально.

Когда веб-часть находится в командах, URL-адрес зависит от канала / вкладки, и я не могу воспроизвести URL-адрес для завершения аутентификации.

У меня естьУже пробовал комбинацию URL-адресов, надеясь, что их будет достаточно при аутентификации.Здесь вы можете увидеть URL разработки, который работает нормально.

App registration portal

Вот веб-часть с ее URL, но я не могу найти ссылку на то, что означает каждый из этих идентификаторов, чтобывоспроизвести ссылку.Регистрация приложения Microsoft также не позволяет копировать и вставлять эту ссылку, так как она содержит запросы.

https://teams.microsoft.com/_#/tab::d7cdb44e-ed6e-4dwb-82db-b933adc8152d/General?threadId=15:512c0d9b1af125d68b5d310de6f76f@thread.skype&ctx=channel

По этой ссылке вручную я перехожу на мою веб-часть, расположенную в командах, но она имеетСтроки запроса, которые нельзя использовать на портале приложений.Я также пытался минимизировать этот URL и вставить сокращенную ссылку - но безрезультатно.

Если кто-то может указать мне правильное направление для воссоздания ссылки, которую я разместил выше, в правильном контексте или знает причину, по которой она не работает, дайте мне знать.Благодарю.(Ссылки для демонстрации).

Ожидаемые результаты - Окно входа закрывается, и пользователь проходит проверку подлинности.

Фактические результаты - Ошибка корреляции для аутентификации, так как ссылка перенаправления не совпадает.

Correlation failure

У моей веб-части есть кнопка - ее первой функцией является аутентификация пользователя с помощью приведенного ниже кода:

 public async login(){
  var that = this;
   await me.userAgentApplication.loginPopup(config.scopes).then(async function (idToken) {
    await me.userAgentApplication.acquireTokenPopup(config.scopes).then(async function (accessToken) {
       that.getWebUrl(accessToken);
      }, function (error) {
          console.log(error);
      });
    });
}

Таким образом, он использует Microsoft-graph длязатем сделайте аутентификацию.Я также добавил размещенный сайт в список Redirect-Urls.Это хорошо проверяет подлинность с сайта sharepoint - но как еще я могу отправить этот токен доступа группам?

1 Ответ

0 голосов
/ 30 января 2019

URI перенаправления должен указывать на ваш сайт, а не на клиентское приложение.Другими словами, вы должны перенаправлять их на страницу , которую вы размещаете.После вызова этой страницы вы обрабатываете аутентификацию (преобразуете код авторизации в токен доступа, сохраняете маркер обновления, проверяете свойство state и т. Д.), А затем перенаправляете их в конечный пункт назначения.

Если вам нужно передать конечный пункт назначения на свою страницу (т.е. сохранить ссылку на канал), вам следует закодировать его и передать с помощью параметра state.Это state будет возвращено на страницу перенаправления без изменений.Ваше приложение может затем декодировать его, чтобы определить конечный пункт назначения.

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