(request: Request)
| 77 | }; |
| 78 | |
| 79 | const verify = (request: Request): Effect.Effect<Principal | null> => |
| 80 | Effect.gen(function* () { |
| 81 | if (config.enableDevAuth) return devPrincipal; |
| 82 | const token = request.headers.get("Cf-Access-Jwt-Assertion"); |
| 83 | if (!token) return null; |
| 84 | |
| 85 | const verified = yield* Effect.tryPromise({ |
| 86 | try: () => jwtVerify(token, jwks, { issuer, audience: config.accessAud }), |
| 87 | catch: () => "invalid access assertion", |
| 88 | }).pipe(Effect.orElseSucceed(() => null)); |
| 89 | if (!verified) return null; |
| 90 | |
| 91 | return principalFromAccessClaims(verified.payload as Record<string, unknown>, config); |
| 92 | }); |
| 93 | |
| 94 | return { verify }; |
| 95 | }; |
no test coverage detected