| 463 | } |
| 464 | |
| 465 | bool parseToken(Arena& arena, TokenRef& token, StringRef signedToken) { |
| 466 | auto b64urlHeader = signedToken.eat("."_sr); |
| 467 | auto b64urlPayload = signedToken.eat("."_sr); |
| 468 | auto b64urlSignature = signedToken; |
| 469 | if (b64urlHeader.empty() || b64urlPayload.empty() || b64urlSignature.empty()) |
| 470 | return false; |
| 471 | if (!parseHeaderPart(arena, token, b64urlHeader)) |
| 472 | return false; |
| 473 | if (!parsePayloadPart(arena, token, b64urlPayload)) |
| 474 | return false; |
| 475 | if (!parseSignaturePart(arena, token, b64urlSignature)) |
| 476 | return false; |
| 477 | return true; |
| 478 | } |
| 479 | |
| 480 | bool verifyToken(StringRef signedToken, PublicKey publicKey) { |
| 481 | auto arena = Arena(); |
no test coverage detected