【发布时间】:2018-10-20 03:00:58
【问题描述】:
我在我的 ASP.NET Core 应用程序中使用社交身份验证,其中之一是 LinkedIn 身份验证。
LinkedIn API 似乎发生了一些变化,现在我们似乎获得了一些带有用户图像的参数。
这是我从 LinkedIn API 获得的虚拟完整/原始图像 URL。知道这些参数是什么意思吗?特别是以t?开头的那个?
这很重要的原因是,当用户登录时,我会将数据库中已有的数据与来自 LinkedIn 的新数据进行比较——在我的例子中,它仅限于用户个人资料图像,即两者都较小图片和用户上传的原始图片。
我注意到图像总是显示不同。仔细分析后,我可以看到这些参数,特别是以t 开头的参数是差异所在。这个小的更改会在我的代码中触发一个事件来更新用户的图像,这可能是一个完全浪费的数据库调用。我可以通过我自己的 LinkedIn 登录来确认这一点。即使我的图片没有更改,但由于t 组件中的这种差异,原始图片的图片 URL 始终不同。
t 参数可能是某种类型的时间戳,这意味着它可能总是不同的。我不想做出这样的假设,因此提出了这个问题。
【问题讨论】:
-
您多久更改一次?我已经在会话中多次尝试过,即使是通过不同的 VPN 连接,但对我来说并没有改变。
t参数值的大小建议使用 SHA256 编码为 base64。所以它很可能只是为了缓存破坏,实际上就像一个时间戳。如果它发生变化,我认为你应该硬着头皮进行数据库调用。
标签: asp.net-core linkedin linkedin-api social-authentication