Как аутентифицировать мое приложение vuejs, используя azure активный каталог, и получить группы безопасности, к которым принадлежит пользователь - PullRequest
0 голосов
/ 28 апреля 2020

я видел нечто подобное здесь: Как вы аутентифицируете приложение VueJS с Azure AD?

, но у меня это не сработало ...

моя проблема в том, что после аутентификации пользователя при входе в систему - мне все еще нужно было получить группы безопасности пользователей, и эта информация не была получена с помощью graph-api, описанного в вышеупомянутом сообщении

спасибо за любую помощь

1 Ответ

0 голосов
/ 28 апреля 2020

Мне потребовалось много времени, чтобы разобраться, поэтому я публикую здесь свои результаты, надеюсь, это кому-нибудь поможет:

Это было трудно для меня, поэтому я публикую здесь - надеюсь, это спасет Некоторое время кому-то:

Моя проблема заключалась в том, что мне нужно не только аутентифицировать мое приложение vuejs с помощью azure -ad, но мне также нужно получить группы безопасности, к которым принадлежит пользователь.

, чтобы добиться этого, вот что я сделал:

я использовал vue -адальный пример приложения, упомянутый выше (вы можете найти его в: https://github.com/survirtual/vue-adal ) - в папке с образцом.

, но мне все равно пришлось внести некоторые изменения, чтобы он вел себя так, как мне нужно. Проблема заключалась в том, что после входа в систему с моим пользователем образец приложения использовал windows. net graph api для получения информации о пользователе с токеном из аутентификации пользователя, поэтому мне пришлось изменить в main. js this:

const graphApiBase = `https://graph.windows.net`
const graphApiResource = '00000002-0000-0000-c000-000000000000'

на это:

const graphApiBase = `https://graph.microsoft.com/v1.0`
const graphApiResource = '00000003-0000-0000-c000-000000000000'

кроме того, внутри компонента возвращаемого URL мне пришлось изменить запрос ax ios, чтобы получить группы безопасности, к которым принадлежит пользователь .. поэтому я изменил это (в домашнем. vue файле):

async getUserInfo () {
      let res = await this.$graphApi.get(`me`, {
        params: {
          'api-version': 1.6
        }
      })

на это:

async getUserInfo () {
      let res = await this.$graphApi.post(`/me/getMemberGroups`, {
        securityEnabledOnly: true
      })
      console.log(res)
      return res.data
    }

, а затем данные, которые я получил от API, содержали защиту группы, к которым принадлежит пользователь ...

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