"""Exact requester token validity against an admitted Railiance interval.""" def validate_token_time(claims, window): for field in ("iat", "exp"): if type(claims.get(field)) is not int: raise ValueError("invalid_token_time") if "nbf" in claims and type(claims["nbf"]) is not int: raise ValueError("invalid_token_time") if (claims["exp"] <= claims["iat"] or claims["iat"] * 1000000000 > window.lower_ns or claims.get("nbf", claims["iat"]) * 1000000000 > window.lower_ns or claims["exp"] * 1000000000 <= window.upper_ns): raise ValueError("token_does_not_contain_railiance_interval")