Добавление аутентифицированной информации об идентификаторе пользователя в событиях NodeJS Application Insights на стороне сервера - PullRequest
0 голосов
/ 08 июня 2018

У меня есть приложение NodeJS, в котором я использую пакет applicationinsights NodeJS ( this ).Согласно модели данных ApplicationInsights, описанной здесь , это говорит о том, что свойство существует, но я не могу найти отсканированный код о том, как установить это свойство в отправляемом мною событии телеметрии.

Любой отрывок, описывающий, как это сделать, будет полезен!

1 Ответ

0 голосов
/ 13 июня 2018

Согласно вашему описанию, я нашел только учебники для ASP.NET о Настройка пользовательского контекста в ITelemetryInitializer и Аутентифицированные пользователи для JavaScript.

ТогдаЯ проверил метод setAuthenticatedUserContext в User.ts из Microsoft Application Insights SDK для JavaScript и нашел фрагмент кода, связанный с TelemetryContext.ts , следующим образом:

if (typeof userContext.authenticatedId === "string") {
      envelope.tags[tagKeys.userAuthUserId] = userContext.authenticatedId;
}

Затем проверил ContextTagKeys.ts и нашел теги контекста следующим образом:

this.sessionId = "ai.session.id";
this.userAccountId = "ai.user.accountId";
this.userId = "ai.user.id";
this.userAuthUserId = "ai.user.authUserId";
...

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

Для NodeJS SDK ключи контекстного тега находятся в ContextTagKeys.ts .По вашему требованию вы можете использовать следующий фрагмент кода:

appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.userAuthUserId] ="xxxx";

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

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