2016-06-12 8 views
2

Я запускаю приложение Cordova, которое подключается к веб-API, размещенному на Azure. У меня есть API, защищенный с использованием аутентификации на предъявителя Azure AD. Когда пользователь пытается вызвать одну из конечных точек, он перенаправляется на страницу входа в Azure AD, вводит свои учетные данные, а затем получает токен. Маркер добавляется ко всем последующим запросам API. Я использую SDK для мобильных приложений, чтобы сделать это (cordova-plugin-ms-azure-mobile-apps).Получить имя пользователя связанный с Azure AD маркер-носитель

Теперь я хотел бы узнать, кто вызывает API, на стороне сервера. Я проверил свойство User моего контроллера веб-API. Там есть какая-то информация, включая несколько претензий, но ничего похожего на фактическое имя пользователя (только сид).

Так теперь вопрос:

  • Могу ли я каким-то образом добавить информацию в маркере? Поскольку токен происходит от Azure AD, я полагаю, что это также место для добавления дополнительной информации, но я не уверен, что это возможно.
  • Если нет, могу ли я каким-либо образом использовать sid, чтобы перевести его в пользователя, который вошел в систему?

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

ответ

0

Я нашел это: https://github.com/Azure/azure-mobile-apps-net-server/wiki/Understanding-User-Ids. В нем объясняется, как свойство «stable_sid» является более стабильным идентификатором, чем адрес электронной почты пользователя, поскольку у вас может быть несколько поставщиков проверки подлинности, и поставщик, в свою очередь, может решить изменить ситуацию на своей стороне.

Итак, я пришел к выводу, что вместо того, чтобы пытаться найти адрес электронной почты, я собираюсь переписать некоторые вещи, чтобы вместо этого использовать идентификатор stable_sid.

+0

Вы нашли решение для этого, – Meena

+0

Можете ли вы p, легкость, сообщите мне, если у вас есть решение, потому что даже я столкнулся с той же проблемой. – Meena

Смежные вопросы