indieweb / indieweb/indieauth

Link relations in HTTP Link header conflict with RFC 5988.

Open
#17 5 comments 1 reaction 0 assignees View on GitHub
Dominant language
HTML
Stars
57
Forks
7
PR merge metrics
No merged PRs in 30d

Description

IndieAuth [registers](https://indieauth.spec.indieweb.org/#iana-considerations) 3 link relations: `authorization_endpoint`, `token_endpoint`, and `redirect_uri`. Additionally it requires both [clients](https://indieauth.spec.indieweb.org/#discovery-by-clients) and [servers](https://indieauth.spec.indieweb.org/#redirect-url) to check HTTP `Link` headers for URLs with these relations.

According to [RFC 5988](https://tools.ietf.org/html/rfc5988) (as cited by IndieAuth) an `_` (underscore) cannot be used by a link relation within [the header field](https://tools.ietf.org/html/rfc5988#section-5). A link’s relation type must match:

> ```
> relation-type = reg-rel-type | ext-rel-type
> reg-rel-type = LOALPHA *( LOALPHA | DIGIT | "." | "-" )
> ext-rel-type = URI
> ```

[RFC 8288](https://tools.ietf.org/html/rfc8288) (which replaces RFC 5988, cf. #15) does not solve this for us. There a link’s [relation type](https://tools.ietf.org/html/rfc8288#section-3) is defined using a slightly different ABNF but otherwise unchanged:

> ```
> relation-type = reg-rel-type / ext-rel-type
> reg-rel-type = LOALPHA *( LOALPHA / DIGIT / "." / "-" )
> ext-rel-type = URI ; Section 3 of [RFC3986]
> ```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the IndieAuth IANA considerations, client discovery, and redirect URL sections alongside RFC 5988 and RFC 8288. No implementation files or tests are named, so first locate where these link relations are defined and parsed. Done means the specification consistently defines relation names that conform to the applicable RFC grammar.

Written by the indexing model from the issue text.

Assessment

Domain
authentication
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.