matrix-org / matrix-org/matrix-spec
Clarify access token grammar
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Currently access tokens are specified according to [section 5](https://matrix.org/docs/spec/client_server/r0.6.0#id176), which is very similar to [RFC6750](https://tools.ietf.org/html/rfc6750).
A note clarifies that clients should treat the access token as an opaque byte sequence, but leaves ambiguity with regards to what bytes are actually valid.
Confusingly, RFC6750 specifies that the token should follow the `b64token` grammar, which does *not* require base64 encoding, but instead is a set of characters defined identically as `token68` specified in [RFC7235](https://tools.ietf.org/html/rfc7235). By design, `token68` includes all base64 encoded strings and URI safe strings.
Am I correct in assuming that currently homeservers and clients implicitly follow RFC6750? And if so, I would suggest to make this requirement explicit in the specification.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with section 5 of the Matrix Client-Server API specification and compare its access-token wording with RFC6750 and RFC7235, as linked in the issue. Confirm the intended valid-byte grammar and update the specification to state it explicitly; done means the ambiguity is removed and the relevant references remain consistent.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100