New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update default symbol table as last edit to v2
#94
Comments
we will also update the symbol table to remove the now unused |
i suggest replacing Revocation ids are typically handled outside datalog, and have little value being embedded in the token anyway. |
I suggest adding |
|
Admin, email, group, member |
48d96aa this commit implements the offsets. |
That's a good addition in general. is it actually carried by the token itself? The haskell implementation (and the protobuf AST for that matter) don't require heads for checks / policies queries |
tl;dr:
Set the default symbol table to:
Context
The following default symbol table is defined in the spec:
Unfortunately, the rust implementation (used by python and node), and the other implementations copied from it (java, go, …) use a different table (
current_time
instead oftime
). Only the haskell implementation uses the same table as defined by the spec.In addition to the implementations,
time
is used pervasively for TTL checks (in documentation, and in the TTL helpers provided by the CLI tool).So we have two choices here:
I think we have a small window where we can fix the implementations, before v2 tokens start to be deployed. That would also let us adapt the default symbol table to v2 use, something we forgot to do when working on v2 (
authority
andambient
symbols are not used anymore, for instance). I'm not surerevocation_id
is useful as well, since we typically want to handle revocation outside datalog.Another thing that would be nice, is to offset the indices of interned strings in tokens, to provide future us with more flexibility wrt default symbols.
Given the current status of v2 use, I think we have a window to ship a few improvements and avoid keeping cruft around, but if that's too late, it's perfectly ok to just align the spec with what's already done.
Related PRs
The text was updated successfully, but these errors were encountered: