GameProfile: Difference between revisions

From ETM
Jump to navigation Jump to search
(Created page with " We´d expect calling GET <nowiki>https://sessionserver.mojang.com/session/minecraft/profile/</nowiki><uuid> with?unsigned=false to return a properties map with one value "...")
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:


We´d expect calling
We´d expect calling
Line 36: Line 35:
   "cape" : null
   "cape" : null
}
}
</syntaxhighlight>Simply storing and sending out these values results in an invalid skin on the client. Removing the additonal "skin" entry wont work as the signature will be wrong. Only option currently would be to re-download the data - but this has the 60sec timeout...
</syntaxhighlight>Simply storing and sending out these values results in an invalid skin on the client. Removing the additonal "skin" entry wont work as the signature will be wrong (?). Only option currently would be to re-download the data - but this has the 60sec timeout...
 
 
 
Raw invalid:<syntaxhighlight lang="json">
{
  "id" : "2e65b6847a2f4dd4ac80f61a6a6adfe5",
  "name" : "Green",
  "properties" : [ {
    "name" : "textures",
    "value" : "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJpZCIgOiAiYTYyNDRhZDY3M2M0NDk5MzgyNjZmZmE4MzU2MjViZGEiLAogICAgICAidHlwZSIgOiAiU0tJTiIsCiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmY2YjgwMmRjNWQ0N2U5MjA3ZGI4M2JhM2Y4MWM4OGRiZTgzZjdlYmZlY2VlZTE5MzQ0OTcwOTg1NjUxMzBjNSIsCiAgICAgICJwcm9maWxlSWQiIDogIjJlNjViNjg0N2EyZjRkZDRhYzgwZjYxYTZhNmFkZmU1IiwKICAgICAgInRleHR1cmVJZCIgOiAiMmY2YjgwMmRjNWQ0N2U5MjA3ZGI4M2JhM2Y4MWM4OGRiZTgzZjdlYmZlY2VlZTE5MzQ0OTcwOTg1NjUxMzBjNSIKICAgIH0KICB9LAogICJza2luIiA6IHsKICAgICJpZCIgOiAiYTYyNDRhZDY3M2M0NDk5MzgyNjZmZmE4MzU2MjViZGEiLAogICAgInR5cGUiIDogIlNLSU4iLAogICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yZjZiODAyZGM1ZDQ3ZTkyMDdkYjgzYmEzZjgxYzg4ZGJlODNmN2ViZmVjZWVlMTkzNDQ5NzA5ODU2NTEzMGM1IiwKICAgICJwcm9maWxlSWQiIDogIjJlNjViNjg0N2EyZjRkZDRhYzgwZjYxYTZhNmFkZmU1IiwKICAgICJ0ZXh0dXJlSWQiIDogIjJmNmI4MDJkYzVkNDdlOTIwN2RiODNiYTNmODFjODhkYmU4M2Y3ZWJmZWNlZWUxOTM0NDk3MDk4NTY1MTMwYzUiCiAgfSwKICAiY2FwZSIgOiBudWxsCn0=",
    "signature" : "vk40OQa+lbx/3gSqzP4bSlrMxR8Tl+dL142Ur+dz2pyfLy25AUbDgUzztucaRTZdRILmjR48Azgj5hltsZIk+/Hq0LR1LTZ+HQMvBnExlA+HKxJtqdbsc8G/R0zlBlWlre+p0Kv2wdKEwIjx76XwtZe8ihUEhqbs706Ub0jWYm8MNKeHLbK54Fhr9aS1UFzORXLGiNDeEW55nwxKajlpW5bqUH2g6zHuvb1k7LLdKUHXDXSPH1eqd2bZV1OpJK1H/IdVkBrsiUk5gThO74c8Bt2vWeSiDlrvzf0YZdtGmg3zpAV+FsX6siJToJlRetwldMRo/OGCaE68rDTPApbiHdhk3kd1yOuDPp/ewfJIpKnEhOeD/Um/vAn77KbubeE4FqbpkARJecpPTAzTSBlNdpgVZRhh3e6zi5ubrmqMorwbZyrhy5bsOJn5/dus/6XrDxMPXmqWxhnqaBtszrlDusl00NIEB+T26mP7BtXHtNLWQh79VdYM5Z+zbq4tulIFt3MCo/48vLnMYAklDF2lIHkiW/ZvN5vfTjfABkxqQex1/K/GOvzseUsnd7IInvW+iRkVUh7YGkoey0dvlPOnj1WvSwynjpZEAptl3WSvbTGruwpLj1a8X7ZvI6KF+jHo2vtksXx0W4X05mSwqBKRSzeSE2k07nd3Ww0MAFfPLMw="
  } ]
}
</syntaxhighlight>Raw valid:<syntaxhighlight lang="json">
{
  "id": "9663af087ad14c1b8d38394f618519e1",
  "name": "Angiekitty87",
  "properties": [
    {
      "name": "textures",
      "value": "eyJ0aW1lc3RhbXAiOjE1ODczNjYwNzA4MDgsInByb2ZpbGVJZCI6Ijk2NjNhZjA4N2FkMTRjMWI4ZDM4Mzk0ZjYxODUxOWUxIiwicHJvZmlsZU5hbWUiOiJBbmdpZWtpdHR5ODciLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzYyYjQxMjZjZjk4NjlmNDYwNjg3NzUxZTYxYjhjYzRhOTc0NDk4OTUwODY3MzVjZmUwNmIzNDJhODQ0Zjg3ZjQifX19",
      "signature": "HYRN3pna2Rv41HhHXURu+F2eXtgDMZYXnR14wlyFuMOklSbkKKXCs300TaqIINsM9d/WK4BlQc1uPZeyhYhfG/IwDbsTaz7a9phjusxxy3bn7MJvVaT4Cpjp3bntyuPcQfrnTvk4DMhYSndJ9P9EXfmk0Vd6K9l+/3wDFQ3vkOTO0EdvE/eFgobIoEM24dJm0hYFuCvYM3h2RU5GAtSREfUeXzQVaAGKZxmpi9S/HOFaaPYzGQcUMO5IOd6pJP/+7nHXnTMcGnH48mouKoLzLPBtMBSydV1uacR1TQXEF+hKtNvNfVBKHvkXGEkGOYuK2QHBHrsdYu1U50HcP9qfsQRaGBiy8/16+RY4whv9Tll6VrgLRoWeTXRDiu5BAKa80lkco+Cv8pqsI5Mg5WmtvnN3FlTrQprV8udI1KoeG0Ra0OogVJWsiEgu5VDMXE3adwAnWBNqX/rfaK/67J09ZF0bp+4JpoMEn85fnTRhFDTJDB/OVyHIoUSTLNwWmKjum462jlMcGbjLLCUEtqUUtiTAT6VF5erWvWNXBAQTiTy7/OEQ0fBd9BnBC3GkLZzpawQ0MHF+8YvdHm0KRne27T+OPJjJGVD5CIIkz6V3qIj2Yojr9erQRFFaE4Zw9Fu0vioYlNEDcxusJb5H6GJuPG1OAR4kV1dGvYGJD4OmtE0="
    }
  ]
}
</syntaxhighlight>

Latest revision as of 11:45, 21 April 2020

We´d expect calling

GET https://sessionserver.mojang.com/session/minecraft/profile/<uuid>

with?unsigned=false to return a properties map with one value "textures" with value/signature


  "textures" : {
    "SKIN" : {
      "id" : "a6244ad673c449938266ffa835625bda",
      "type" : "SKIN",
      "url" : "http://textures.minecraft.net/texture/2f6b802dc5d47e9207db83ba3f81c88dbe83f7ebfeceee1934497098565130c5",
      "profileId" : "2e65b6847a2f4dd4ac80f61a6a6adfe5",
      "textureId" : "2f6b802dc5d47e9207db83ba3f81c88dbe83f7ebfeceee1934497098565130c5"
    }

Unfortunately the sessionserver now pretty much randomly returns additional data inside the base64 value:

{
  "textures" : {
    "SKIN" : {
      "id" : "a6244ad673c449938266ffa835625bda",
      "type" : "SKIN",
      "url" : "http://textures.minecraft.net/texture/2f6b802dc5d47e9207db83ba3f81c88dbe83f7ebfeceee1934497098565130c5",
      "profileId" : "2e65b6847a2f4dd4ac80f61a6a6adfe5",
      "textureId" : "2f6b802dc5d47e9207db83ba3f81c88dbe83f7ebfeceee1934497098565130c5"
    }
  },
  "skin" : {
    "id" : "a6244ad673c449938266ffa835625bda",
    "type" : "SKIN",
    "url" : "http://textures.minecraft.net/texture/2f6b802dc5d47e9207db83ba3f81c88dbe83f7ebfeceee1934497098565130c5",
    "profileId" : "2e65b6847a2f4dd4ac80f61a6a6adfe5",
    "textureId" : "2f6b802dc5d47e9207db83ba3f81c88dbe83f7ebfeceee1934497098565130c5"
  },
  "cape" : null
}

Simply storing and sending out these values results in an invalid skin on the client. Removing the additonal "skin" entry wont work as the signature will be wrong (?). Only option currently would be to re-download the data - but this has the 60sec timeout...


Raw invalid:

{
  "id" : "2e65b6847a2f4dd4ac80f61a6a6adfe5",
  "name" : "Green",
  "properties" : [ {
    "name" : "textures",
    "value" : "ewogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJpZCIgOiAiYTYyNDRhZDY3M2M0NDk5MzgyNjZmZmE4MzU2MjViZGEiLAogICAgICAidHlwZSIgOiAiU0tJTiIsCiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmY2YjgwMmRjNWQ0N2U5MjA3ZGI4M2JhM2Y4MWM4OGRiZTgzZjdlYmZlY2VlZTE5MzQ0OTcwOTg1NjUxMzBjNSIsCiAgICAgICJwcm9maWxlSWQiIDogIjJlNjViNjg0N2EyZjRkZDRhYzgwZjYxYTZhNmFkZmU1IiwKICAgICAgInRleHR1cmVJZCIgOiAiMmY2YjgwMmRjNWQ0N2U5MjA3ZGI4M2JhM2Y4MWM4OGRiZTgzZjdlYmZlY2VlZTE5MzQ0OTcwOTg1NjUxMzBjNSIKICAgIH0KICB9LAogICJza2luIiA6IHsKICAgICJpZCIgOiAiYTYyNDRhZDY3M2M0NDk5MzgyNjZmZmE4MzU2MjViZGEiLAogICAgInR5cGUiIDogIlNLSU4iLAogICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yZjZiODAyZGM1ZDQ3ZTkyMDdkYjgzYmEzZjgxYzg4ZGJlODNmN2ViZmVjZWVlMTkzNDQ5NzA5ODU2NTEzMGM1IiwKICAgICJwcm9maWxlSWQiIDogIjJlNjViNjg0N2EyZjRkZDRhYzgwZjYxYTZhNmFkZmU1IiwKICAgICJ0ZXh0dXJlSWQiIDogIjJmNmI4MDJkYzVkNDdlOTIwN2RiODNiYTNmODFjODhkYmU4M2Y3ZWJmZWNlZWUxOTM0NDk3MDk4NTY1MTMwYzUiCiAgfSwKICAiY2FwZSIgOiBudWxsCn0=",
    "signature" : "vk40OQa+lbx/3gSqzP4bSlrMxR8Tl+dL142Ur+dz2pyfLy25AUbDgUzztucaRTZdRILmjR48Azgj5hltsZIk+/Hq0LR1LTZ+HQMvBnExlA+HKxJtqdbsc8G/R0zlBlWlre+p0Kv2wdKEwIjx76XwtZe8ihUEhqbs706Ub0jWYm8MNKeHLbK54Fhr9aS1UFzORXLGiNDeEW55nwxKajlpW5bqUH2g6zHuvb1k7LLdKUHXDXSPH1eqd2bZV1OpJK1H/IdVkBrsiUk5gThO74c8Bt2vWeSiDlrvzf0YZdtGmg3zpAV+FsX6siJToJlRetwldMRo/OGCaE68rDTPApbiHdhk3kd1yOuDPp/ewfJIpKnEhOeD/Um/vAn77KbubeE4FqbpkARJecpPTAzTSBlNdpgVZRhh3e6zi5ubrmqMorwbZyrhy5bsOJn5/dus/6XrDxMPXmqWxhnqaBtszrlDusl00NIEB+T26mP7BtXHtNLWQh79VdYM5Z+zbq4tulIFt3MCo/48vLnMYAklDF2lIHkiW/ZvN5vfTjfABkxqQex1/K/GOvzseUsnd7IInvW+iRkVUh7YGkoey0dvlPOnj1WvSwynjpZEAptl3WSvbTGruwpLj1a8X7ZvI6KF+jHo2vtksXx0W4X05mSwqBKRSzeSE2k07nd3Ww0MAFfPLMw="
  } ]
}

Raw valid:

{
  "id": "9663af087ad14c1b8d38394f618519e1",
  "name": "Angiekitty87",
  "properties": [
    {
      "name": "textures",
      "value": "eyJ0aW1lc3RhbXAiOjE1ODczNjYwNzA4MDgsInByb2ZpbGVJZCI6Ijk2NjNhZjA4N2FkMTRjMWI4ZDM4Mzk0ZjYxODUxOWUxIiwicHJvZmlsZU5hbWUiOiJBbmdpZWtpdHR5ODciLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzYyYjQxMjZjZjk4NjlmNDYwNjg3NzUxZTYxYjhjYzRhOTc0NDk4OTUwODY3MzVjZmUwNmIzNDJhODQ0Zjg3ZjQifX19",
      "signature": "HYRN3pna2Rv41HhHXURu+F2eXtgDMZYXnR14wlyFuMOklSbkKKXCs300TaqIINsM9d/WK4BlQc1uPZeyhYhfG/IwDbsTaz7a9phjusxxy3bn7MJvVaT4Cpjp3bntyuPcQfrnTvk4DMhYSndJ9P9EXfmk0Vd6K9l+/3wDFQ3vkOTO0EdvE/eFgobIoEM24dJm0hYFuCvYM3h2RU5GAtSREfUeXzQVaAGKZxmpi9S/HOFaaPYzGQcUMO5IOd6pJP/+7nHXnTMcGnH48mouKoLzLPBtMBSydV1uacR1TQXEF+hKtNvNfVBKHvkXGEkGOYuK2QHBHrsdYu1U50HcP9qfsQRaGBiy8/16+RY4whv9Tll6VrgLRoWeTXRDiu5BAKa80lkco+Cv8pqsI5Mg5WmtvnN3FlTrQprV8udI1KoeG0Ra0OogVJWsiEgu5VDMXE3adwAnWBNqX/rfaK/67J09ZF0bp+4JpoMEn85fnTRhFDTJDB/OVyHIoUSTLNwWmKjum462jlMcGbjLLCUEtqUUtiTAT6VF5erWvWNXBAQTiTy7/OEQ0fBd9BnBC3GkLZzpawQ0MHF+8YvdHm0KRne27T+OPJjJGVD5CIIkz6V3qIj2Yojr9erQRFFaE4Zw9Fu0vioYlNEDcxusJb5H6GJuPG1OAR4kV1dGvYGJD4OmtE0="
    }
  ]
}