in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CookieUtils.scala [54:61]
def generateCookieData(authUser: AuthenticatedUser, signing: Signing): String =
CookiePayload.generateForPayloadText(serializeAuthenticatedUser(authUser), signing.activePrivateKey).asCookieText
def parseCookieData(cookieString: String, verification: Verification): CookieResult[AuthenticatedUser] = for {
cookiePayload <- CookiePayload.parse(cookieString).toRight(MalformedCookieText)
cookiePayloadText <- verification.decode(cookiePayload.payloadTextVerifiedSignedWith).toRight(SignatureNotValid)
authUser <- deserializeAuthenticatedUser(cookiePayloadText).toRight(MissingOrMalformedUserData)
} yield authUser