Входящее сообщение содержит информацию, которую вы можете использовать для идентификации пользователя. Сообщение выглядит так:
{
...
"from": {
"id": "29:1XJKJMvc5GBtc2JwZq0oj8tHZmzrQgFmB39ATiQWA85gQtHieVkKilBZ9XHoq9j7Zaqt7CZ-NJWi7me2kHTL3Bw",
"name": "Richard Moe",
"aadObjectId": "ae361bee-9946-4082-99dc-6994b00ceebb"
},
"channelData": {
"tenant": {
"id": "72f988bf-86f1-41af-91ab-2d7cd011db47"
}
}
}
channelData.tenant.id
идентифицирует организацию (арендатора O365), в которую входит пользователь, так что вы можете посмотреть на нее и отклонить сообщения, которые не принадлежат тем, которые вы ожидаете.
Сообщение также имеет идентификатор объекта AAD отправителя в from.aadObjectId
. Поток аутентификации в приведенных выше ссылках полезен, если вам нужны токены для предоставления другим сервисам, чтобы вы могли действовать от имени пользователя, но если все, что вам нужно, это клиент и личность пользователя, в сообщении есть все, что вам нужно.
(Не забудьте сначала проверить подлинность входящего запроса , прежде чем доверять какой-либо информации в сообщении.)