Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

37 righe
793 B

  1. //
  2. // File.swift
  3. //
  4. //
  5. // Created by Michiel Carman on 4/16/24.
  6. //
  7. import Vapor
  8. import Fluent
  9. import JWT
  10. struct SessionToken: Content, Authenticatable, JWTPayload{
  11. var expirationtime: TimeInterval = 60 * 15
  12. var expiration: ExpirationClaim
  13. var userid: Int
  14. init(userid: Int){
  15. self.userid = userid
  16. self.expiration = ExpirationClaim(value: Date().addingTimeInterval(expirationtime))
  17. }
  18. init(user: mdlAssociate){
  19. self.userid = try! user.requireID()
  20. self.expiration = ExpirationClaim(value: Date().addingTimeInterval(expirationtime))
  21. }
  22. func verify(using signer: JWTKit.JWTSigner) throws {
  23. try expiration.verifyNotExpired()
  24. }
  25. }
  26. struct ClientTokenResponse: Content{
  27. var token: String
  28. }