Приложение-функция Azure - дает мне зарегистрированного пользователя - PullRequest
0 голосов
/ 27 сентября 2019

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

Я включил Azure Active Directory «Аутентификация / Авторизация», и когда я получаю доступ к URL-адресу функции, он запрашивает пользователя, и я могу хорошо войти в систему

В журнале функций приложения я хочу видеть пользователякто залогинился.Как я могу это сделать?

1 Ответ

0 голосов
/ 30 сентября 2019

Служба приложений передает заявки пользователей в ваше приложение, используя специальные заголовки.Внешние запросы не могут устанавливать эти заголовки, поэтому они присутствуют, только если они установлены службой приложений.

Вы можете использовать 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.

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