Start work on Server implementation
This commit is contained in:
parent
594098dd30
commit
ac91f6e853
2 changed files with 9 additions and 2 deletions
|
|
@ -33,7 +33,8 @@ class Server extends EventEmitter {
|
|||
try {
|
||||
const mcData = require('minecraft-data')('bedrock_' + version)
|
||||
this.features = {
|
||||
compressorInHeader: mcData.supportFeature('compressorInPacketHeader')
|
||||
compressorInHeader: mcData.supportFeature('compressorInPacketHeader'),
|
||||
legacyCertificateChain: mcData.supportFeature('legacyCertificateChain')
|
||||
}
|
||||
} catch (e) {
|
||||
throw new Error(`Unsupported version: '${version}', no data available`)
|
||||
|
|
|
|||
|
|
@ -82,7 +82,13 @@ class Player extends Connection {
|
|||
const skinChain = tokens.client
|
||||
|
||||
try {
|
||||
var { key, userData, skinData } = this.decodeLoginJWT(authChain.chain, skinChain) // eslint-disable-line
|
||||
if (this.features.legacyCertificateChain) {
|
||||
var { key, userData, skinData } = this.decodeLoginJWT(authChain.chain, skinChain) // eslint-disable-line
|
||||
} else {
|
||||
// TODO: Migrate this from the legacy "Certificate" auth to the new auth system (Validate the token in the "Token" field)
|
||||
const { chain } = JSON.parse(authChain.Certificate)
|
||||
var { key, userData, skinData } = this.decodeLoginJWT(chain, skinChain) // eslint-disable-line
|
||||
}
|
||||
} catch (e) {
|
||||
debug(this.address, e)
|
||||
this.disconnect('Server authentication error')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue