mojira.dev
WEB-1083

sessionserver.mojang.com API provides HTTP skin and cape URLs

The bug

The https://sessionserver.mojang.com/session/minecraft/profile/<uuid> API (see unofficial wiki) uses HTTP instead of HTTPS as protocol for skins and capes:

{
    "timestamp": 1531794508246,
    "profileId": "c6d461c1f49540c5a475dda1b993490a",
    "profileName": "redstonehelper",
    "textures": {
        "SKIN": {
            "url": "http://textures.minecraft.net/texture/2fcdec2b1b135ae6cdd89cabc150ee7f9a27969c046cb1aa52d70011df1ebea0"
        },
        "CAPE": {
            "url": "http://textures.minecraft.net/texture/ae677f7d98ac70a533713518416df4452fe5700365c09cf45d0d156ea9396551"
        }
    }
}

This might be intended to support really old Java versions, see this comment, though the question is if they would really have issues with https://.

Steps to reproduce

  1. Open for example https://sessionserver.mojang.com/session/minecraft/profile/c6d461c1f49540c5a475dda1b993490a in your browser

  2. Copy the Base64 string from the value property

  3. Decode the Base64 string, for example using https://www.base64decode.org/
    ❌ Bug: The decoded JSON data contains http:// instead of https:// URLs for textures.minecraft.net

Comments 10

Have reopened this because despite having been fixed for other endpoints, for this API endpoint the responses still use HTTP URLs.

Yes this is still the case; I have added a "Steps to reproduce" section to the description to hopefully make it clearer.

Is this still an issue as cannot access the web link pasted anymore

{

"path" : "/session/minecraft/profile/",

"error" : "NOT_FOUND",

"errorMessage" : "Not Found"

}

Can confirm, i cannot open this link:

https://sessionserver.mojang.com/session/minecraft/profile/

From Aar9n discord web request reply:

When you do add the uuid to the url (using the same one in the report) you’ll find it works: https://sessionserver.mojang.com/session/minecraft/profile/c6d461c1f49540c5a475dda1b993490a

The url in the bug report doesn’t work because it’s incomplete, you need to actually look up a player with the session server api or you will get the not found error; the reporter just simply didn’t include the exact player in the url for whatever reason

*mistake Aaron not is correct of Aar9n

Error: AAron was meaning opposite of Aar9n

marcono1234

web

Other

cape, http, https, skin

Retrieved