Asp.net core LinkedIn用户配置文件图像URL中的参数

Asp.net core LinkedIn用户配置文件图像URL中的参数,asp.net-core,linkedin,linkedin-api,social-authentication,Asp.net Core,Linkedin,Linkedin Api,Social Authentication,我在ASP.NET核心应用程序中使用社交身份验证,其中一个是LinkedIn身份验证 看起来LinkedIn API中有一些变化,现在我们似乎可以通过用户图像获得一些参数 这是我从LinkedIn API获得的一个虚拟完整/原始图像URL。知道这些参数意味着什么吗?特别是以t开头的一个 这一点很重要的原因是,当用户登录时,我会将数据库中已有的数据与来自LinkedIn的新数据进行比较——在我的情况下,它仅限于用户配置文件图像,即较小尺寸的图像和用户上传的原始图像 我注意到图像总是显示不同的内容

我在ASP.NET核心应用程序中使用社交身份验证,其中一个是LinkedIn身份验证

看起来LinkedIn API中有一些变化,现在我们似乎可以通过用户图像获得一些参数

这是我从LinkedIn API获得的一个虚拟完整/原始图像URL。知道这些参数意味着什么吗?特别是以
t
开头的一个

这一点很重要的原因是,当用户登录时,我会将数据库中已有的数据与来自LinkedIn的新数据进行比较——在我的情况下,它仅限于用户配置文件图像,即较小尺寸的图像和用户上传的原始图像

我注意到图像总是显示不同的内容。在更仔细的分析中,我可以看到这些参数,特别是以
t
开头的参数是差异所在。这个小小的更改会在我的代码中触发一个事件来更新用户的映像,这可能是一个完全浪费的数据库调用。我可以通过自己的LinkedIn登录来确认这一点。尽管我的图像没有更改,但由于
t
组件中的差异,原始图像的图像URL始终不同


t
参数可能是某种类型的时间戳,这意味着它可能总是不同的。我不想做出这样的假设,因此提出了这个问题。

我尝试了下面的LinkedIn端点“”

对我来说,“pictureInfo”部分下有两个图像,“croppedImage”和“masterImage”。我试图复制您提到的问题,但有一段时间无法复制。在某些时候,我收到了一个不同的图像瓮为“主图像”。经过一系列的测试,我知道“masterImage”每小时更新一次。通过这一点,我进一步尝试了解图像中的参数

从这些

  • v=β是明确的。早些时候,它是v=alpha
  • e似乎是一个与某个到期相关的时间戳
  • 当e改变时,t也在改变

根据此分析,如果您使用“masterImage”触发DB调用,您可以使用正则表达式匹配条件来识别图像中的实际更改。

它多久更改一次?我在不同的会话中尝试过多次,甚至在不同的VPN连接上也尝试过,但我没有改变。
t
参数值的大小表明SHA256编码为base64。因此,它很可能只是为了破坏缓存,实际上就像一个时间戳。如果它改变了,我想你应该咬紧牙关,打那个数据库电话。