def claims.check
bend-kit-jwt@0.11.0.1 · jwt.bend:392
import bend-kit-jwt@0.11.0.1/jwt.bend as Jwt
import Base
392
393def claims.check(p: Policy, +now: U32, +c: List<&2, Field>) -> Result<&1, &1, Err, Unit>:
394 Policy{a, +wi, +wa, +lw} = p
395 do Result<&1, &1, Err, Unit>:
396 exp : Maybe<&2, U32> <- when(field(c, "exp"))
397 nbf : Maybe<&2, U32> <- when(field(c, "nbf"))
398 iat : Maybe<&2, U32> <- when(field(c, "iat"))
399 gi : Maybe<&2, String> <- text(field(c, "iss"))
400 ga : Maybe<&2, List<&2, String>> <- auds(field(c, "aud"))
401 u1 : Unit <- fail.if(late(now, lw, exp), Expired{})
402 u2 : Unit <- fail.if(early(now, lw, nbf), NotYet{})
403 u3 : Unit <- fail.if(early(now, lw, iat), Future{})
404 u4 : Unit <- fail.if(iss.bad(wi, gi), BadIss{})
405 fail.if(aud.bad(wa, ga), BadAud{})