jwt NotBefore, use OpenAuthMod format

This commit is contained in:
creeper123123321 2021-10-30 09:00:53 -03:00
parent 43f09c3130
commit aad148c97e
3 changed files with 6 additions and 5 deletions

View File

@ -100,7 +100,7 @@ Web login:
Fabric client:
- Install [ParacetamolAuth](https://github.com/creeper123123321/ParacetamolAuth) in your Fabric client.
- Install [OpenAuthMod](https://github.com/RaphiMC/OpenAuthMod) in your Fabric client.
- Join the server: ```mc.example.net.via.localhost```
- Approve the login

View File

@ -1,7 +1,6 @@
package com.viaversion.aas.handler.state
import com.google.common.net.HostAndPort
import com.google.gson.JsonPrimitive
import com.viaversion.aas.*
import com.viaversion.aas.codec.CryptoCodec
import com.viaversion.aas.codec.packet.Packet
@ -14,6 +13,7 @@ import com.viaversion.aas.util.StacklessException
import com.viaversion.viaversion.api.protocol.packet.State
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion
import com.viaversion.viaversion.api.type.Type
import com.viaversion.viaversion.libs.gson.JsonPrimitive
import io.netty.buffer.ByteBufAllocator
import io.netty.channel.Channel
import io.netty.channel.ChannelHandlerContext
@ -99,6 +99,7 @@ class LoginState : ConnectionState {
fun reauthMessage(handler: MinecraftHandler, backName: String, backHash: String): CompletableFuture<Boolean> {
if (!handler.data.frontEncrypted
|| handler.data.frontVer!! < ProtocolVersion.v1_13.version
|| !frontName.equals(backName, ignoreCase = true)
) {
callbackPluginReauth.complete(false)
return callbackPluginReauth
@ -106,12 +107,11 @@ class LoginState : ConnectionState {
val buf = ByteBufAllocator.DEFAULT.buffer()
try {
Type.STRING.write(buf, backName)
Type.STRING.write(buf, backHash)
val packet = PluginRequest()
packet.id = ThreadLocalRandom.current().nextInt()
packet.channel = "viaaas:reauth"
packet.channel = "openauthmod:join"
packet.data = readRemainingBytes(buf)
send(handler.data.frontChannel, packet, true)
pendingReauth = packet.id

View File

@ -7,13 +7,13 @@ import com.google.common.cache.CacheBuilder
import com.google.common.cache.CacheLoader
import com.google.common.collect.MultimapBuilder
import com.google.common.collect.Multimaps
import com.google.gson.JsonObject
import com.viaversion.aas.AspirinServer
import com.viaversion.aas.config.VIAaaSConfig
import com.viaversion.aas.parseUndashedId
import com.viaversion.aas.reverseLookup
import com.viaversion.aas.util.StacklessException
import com.viaversion.aas.webLogger
import com.viaversion.viaversion.libs.gson.JsonObject
import io.ktor.client.request.*
import io.ktor.http.cio.websocket.*
import io.ktor.server.netty.*
@ -42,6 +42,7 @@ class WebDashboardServer {
fun generateToken(account: UUID, username: String): String {
return JWT.create()
.withIssuedAt(Date())
.withNotBefore(Date())
.withExpiresAt(Date.from(Instant.now().plus(Duration.ofDays(30))))
.withSubject(account.toString())
.withClaim("name", username)