impl session tokens
This commit is contained in:
@@ -74,7 +74,36 @@ struct AuthController: RouteCollection {
|
||||
guard let account = account else {
|
||||
return Response(status: .badRequest, body: "{\"error\": \"Bad Request\", \"message\": \"Invalid playerId provided.\"}")
|
||||
}
|
||||
return Response(status: .notImplemented)
|
||||
|
||||
let zatExpiry = Date.now.advanced(by: 43200)
|
||||
let zrtExpiry = Date.now.advanced(by: 2592000)
|
||||
|
||||
let zatTokenJWT = generateToken(accountId: try account.requireID(), expires: zatExpiry, type: .ZAT)
|
||||
let zrtTokenJWT = generateToken(accountId: try account.requireID(), expires: zrtExpiry, type: .ZRT)
|
||||
|
||||
let zatToken = try await req.jwt.sign(zatTokenJWT)
|
||||
let zrtToken = try await req.jwt.sign(zrtTokenJWT)
|
||||
|
||||
let res = LoginDeviceRes(
|
||||
zatExpiryTime: Int(zatExpiry.timeIntervalSince1970) * 1000,
|
||||
zrtExpiryTime: Int(zrtExpiry.timeIntervalSince1970) * 1000,
|
||||
firstLogin: true,
|
||||
externalToken: "",
|
||||
zat: zatToken,
|
||||
zrt: zrtToken,
|
||||
player: Player(
|
||||
idpId: account.idpId,
|
||||
appId: account.appId,
|
||||
playerId: String(try account.requireID()),
|
||||
pushOption: PushOptionResponse(night: "n", player: "n"),
|
||||
regTime: Int(account.regDate.timeIntervalSince1970),
|
||||
idpAlias: idpAlias,
|
||||
firstLoginTime: Int(account.firstLogin.timeIntervalSince1970),
|
||||
status: account.status
|
||||
)
|
||||
)
|
||||
|
||||
return try await res.encodeResponse(for: req)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,11 +163,8 @@ struct LoginDeviceRes: Content {
|
||||
struct Player: Content {
|
||||
let idpId: String
|
||||
let appId: String
|
||||
let lang: String
|
||||
let playerId: String
|
||||
let agreement: AgreementResponse
|
||||
let pushOption: PushOptionResponse
|
||||
let lastLoginTime: Int
|
||||
let regTime: Int
|
||||
let idpAlias: String
|
||||
let firstLoginTime: Int
|
||||
|
Reference in New Issue
Block a user