晴天娃娃_
本帖最后由 晴天娃娃_ 于 2020-3-10 15:32 编辑

希望在纯净服不配置外置登录的情况下使用皮肤站自定义皮肤。
我使用的是Blessing Skin + Yggdrasil API 外置登录authlib injector也启用,修改提交方法模拟与mojang一样的效果(将查询uuid的api/profiles/minecraft的提交方法由post修改为了get api/profiles/minecraft?namess=name )




服务端插件使用的是开源的SkinsRestorer 版本13.3 ,将
这一部分修改为自己的地址 之后发现皮肤并不能显示, 在获取了角色Profile之后并没有继续获取皮肤图片,经过断点之后并没有发现问题。
发送给 name  value  signature这三个信息都是正常的,其中value包含的等皮肤信息解码之后发现虽然格式有一点问题但是我认为问题并不处在这。



其中我并不理解signature是干什么的起什么作用的,我认为问题应该在于signature的数据,请问我的判断这里是否正确?(看过2楼回复之后感觉也不是此处的问题)   接下来要怎么做?如果我的判断并不正确,可能猜想一下这里不显示皮肤的原因.





天辉胡萝卜
signature用来保证皮肤有效
只有signature有效的情况下客户端才会使用该texture,这可以防止网络包被拦截修改而篡改客户端的皮肤显示

https://wiki.vg/Mojang_API#UUID_-.3E_Profile_.2B_Skin.2FCape
这里面提供了一个api用于获得signature
例如这样https://sessionserver.mojang.com ... 515c?unsigned=false

天辉胡萝卜
以及https://minecraft.gamepedia.com/Yggdrasil
这个是mojang采用的验证系统,signature就是采用这个系统的私钥签发的,对应加密算法为SHA1withRSA

晴天娃娃_
疾风暗影 发表于 2020-3-10 15:24
以及https://minecraft.gamepedia.com/Yggdrasil
这个是mojang采用的验证系统,signature就是采用这个系统 ...

那应该不是这里的问题了,可猜测一下问题出在哪里?

天辉胡萝卜
本帖最后由 疾风暗影 于 2020-3-10 15:50 编辑
晴天娃娃_ 发表于 2020-3-10 15:34
那应该不是这里的问题了,可猜测一下问题出在哪里?

我觉得还是签名不对
你的签名是怎么产生的?
签名是需要根据材质来产生的,你的texture和签名能对应上吗?

天辉胡萝卜
以及
https://github.com/riflowth/SkinSystem/

这个是一个开源的配合skinrestorer替换官方皮肤的例子
https://github.com/riflowth/Skin ... server/skinCore.php
这个是它产生签名的方式

晴天娃娃_
疾风暗影 发表于 2020-3-10 15:49
我觉得还是签名不对
你的签名是怎么产生的?
签名是需要根据材质来产生的,你的texture和签名能对应上吗? ...

系统产生的,这里应该和mojang用的同一个

Karlatemp
本帖最后由 Karlatemp 于 2020-3-10 16:13 编辑

https://github.com/yushijinhun/a ... F%E8%A7%84%E8%8C%83

完整的Yggdrasil规范, 里面有你要的东西
另外客户端不配置的话是无法使用皮肤站的皮肤的,有域名限制,而且你没有Mojang的yggdrasil服务器的秘钥