GameProfile

From ETM
Revision as of 11:45, 21 April 2020 by Kademlia (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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="
    }
  ]
}