【问题标题】:Azure Insights telemetry not showing Auth ID on all transactionsAzure Insights 遥测未在所有事务中显示 Auth ID
【发布时间】:2019-03-01 04:47:41
【问题描述】:

我正在尝试将 Azure Insights 遥测与我们的 SPA 集成,并尝试添加经过身份验证的用户跟踪。为此,登录后,我致电ReactAI.ai().setAuthenticatedUserContext(user_id)。我可以在该特定跟踪上看到 user_id,但在后续跟踪上看不到。如果我在该跟踪中获取会话 ID,我可以重构用户旅程,但理想情况下不希望通过额外的步骤来确定会话 ID。

【问题讨论】:

  • 那么您有没有找到在所有遥测上设置Auth ID 的最可靠的方法?

标签: azure-application-insights


【解决方案1】:

方法的完整签名是:

setAuthenticatedUserContext(authenticatedUserId: string, accountId?: string, storeInCookie = false)

您需要将 storeInCookie 设置为 true 以确保 UserId 跨跟踪保留。

根据新的 cookie 法律,在审查 cookie 时,此 cookie 被标记为非必要的,并且不能是默认启用的 cookie。如果你放弃这个,我认为你需要网站上的“Cookie 声明”。

【讨论】:

  • 但是如果您在每个页面上都有setAuthenticatedUserContext(),则不需要storeInCookie,例如基本布局页面。对吗?
  • 我还想补充一点……这只是对 App Insights 的 JavaScript/客户端调用。它应该放在JS的哪里?在 标记内,在任何其他 JS 之前?如果你已经有了这个 JS,你还需要跟踪 Auth Id 的服务器端吗?
  • 如果您在每个页面上都设置了 auth id,那么大多数相关性应该是好的,也许,异步 AJAX 调用的一些异常不是归属于某个页面或在设置 auth 用户 id 之前发生的。在 AI sn-p 调用 trackPageView() 之前,您可以在任何地方进行此调用(因此,您可以修改 AI sn-p 本身)。如果它是 cookie,那么也可以对服务器端问题执行一些用户影响分析,因为前端服务器端事件中将包含用户 ID。
  • Dmitry,我收集到(不是来自文档...文档确实需要更新)使用此 JS 仅在Page View 遥测上设置Auth Id...但不能保证在@ 987654329@,或Request 等其他人。这是正确的/预期的吗?
  • 这听起来对我来说确实出乎意料 - 如果它根据调用的第三个参数存储到 cookie 中,我希望它会受到从该浏览器会话发出的任何遥测数据的尊重。如果它不起作用 - 您可以在 JS SDK 中拥有自己的 Telemetry Initializer,通过从 cookie 读取或直接为事件分配身份验证用户 ID:github.com/Microsoft/ApplicationInsights-JS/blob/master/…
猜你喜欢
  • 1970-01-01
  • 2020-01-08
  • 2017-03-20
  • 1970-01-01
  • 2020-02-06
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多