Служба приложений передает заявки пользователей в ваше приложение, используя специальные заголовки.Внешние запросы не могут устанавливать эти заголовки, поэтому они присутствуют, только если они установлены службой приложений.
Вы можете использовать X-MS-CLIENT-PRINCIPAL-NAME
в качестве заголовка http resquest для получения имени пользователя.
var name1=httpRequest.Headers["X-MS-CLIENT-PRINCIPAL-NAME"].ToString();
Кроме того, вы можете получить аутентифицированную информацию о пользователе из ClaimsPrincipal
экземпляр, внедренный в метод Run
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
HttpRequest httpRequest,
ILogger logger,
ClaimsPrincipal claimsPrincipal)
{
var name1=httpRequest.Headers["X-MS-CLIENT-PRINCIPAL-NAME"].ToString();
var name2 = claimsPrincipal.Identity.Name;
}
Примечание :
При добавлении регистраций приложений в объявлении Azure добавьте URL-адрес перенаправления как https://yourfunctionname.azurewebsites.net/.auth/login/aad/callback
и нажмите ID token
при настройке Advanced settings
.