Не удается подключиться к Azure AS с помощью ADOMD через OAuth - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь подключиться к службам аналитики Azure с помощью ADOMD, передавая токен доступа, полученный через OAuth, но независимо от того, какие разрешения я установил и какую комбинацию учетных данных / токенов я пробую, он не будет аутентифицироваться.Я хочу убедиться, что я правильно понимаю аутентификацию Azure AS.

Ниже описан мой процесс аутентификации:

  1. Выполните GET запрос к https://login.microsoftonline.com/[tenant]/oauth2/authorize для получения токена авторизациина фронтенде.Идентификатор приложения отправлен.Пользователю предлагается войти в систему. Пользователь вводит хост источника данных в другое текстовое поле.
  2. Клиент делает POST запрос на выполнение бэкэнда с токеном авторизации и хостом.
  3. Сервер делает POST запрос к https://login.microsoftonline.com/[tenant]/oauth2/token для получения токена доступа.Он отправляет идентификатор приложения, секрет приложения, тип предоставления, код и URI перенаправления.Токен доступа и токен обновления получены из API.
  4. Затем сервер пытается подключиться к ADOMD.NET, используя следующую строку подключения: Provider=MSOLAP;Data Source={host};Initial Catalog=;User ID=;Password={access_token};Persist Security Info=True;Impersonation Level=Impersonate.
  5. ADOMD.NET выдает ошибку, которая простоговорит "аутентификация не удалась".

Я уже добавил участника службы приложений и пользователя, с которым пытаюсь войти в роль администратора, используя SSMS.

Соединяетсяидеально, если я жестко закодирую строку подключения, установив имя пользователя app:{app-id} и пароль в качестве секретного ключа клиента.Тем не менее, я хочу аутентификацию пользователя.

Не понимаю ли я правильно концепции аутентификации пользователя с использованием ADOMD?Или я что-то не так делаю в этом процессе?

...