tetov-irc, cybi, strugee, ShinyCyril, jacky, mro, mro_, lagash and dovedozen[d] joined the channel
#sknebel[fluffy]: one idea I also don't like, but wanted to have mentioned: the endpoint the token is delivered to could state a preference for a canonical url, similar to the different user profile url mechanism. I think the most natural way would be discarding the delivery attempt and restarting it towards the "fixed" url though, since you might need to generate a new token
cybi joined the channel
#sknebel(i.e. if I decide to give "A" a token, on delivery of the ticket my system tells the receiving ticket endpoint "subject=A", the endpoint says "uhm, that's actually spelled B" - my system goes back, does the same check as for a differing profile URL against B, makes a new ticket for a token with the same rights but for B, delivers
#[tantek]1This is something I think has quite a few IndieWeb #indieweb-dev specific angles & appeals, and I worked on with other Mozilla folks for a while so I don't mind sharing here: https://webvision.mozilla.org/ (just published)
#[tantek]1Definitely interested in any/all questions & feedback!
#jacky> The URL acts as a global, low-friction, distributed namespace, allowing individuals to publish on their own terms, with comparatively little interference from centralized actors seeking to extract payment or exercise editorial control.
[manton] joined the channel
#jackynative app developers are quaking in their boots (lol)
#[manton]Agreed, looks good! I like the “Site-Building Ergonomics” section in the full document (the tilt to centralization when making web sites is too hard).
#[manton]The URL as a namespace? 1-star. NFTs should be a good enough identifier for anyone. 😉
#angelo"Our strategy is to categorize development techniques into increasing tiers of complexity, and then work to eliminate the usability gaps that push people up the ladder towards more complex approaches." I dig it.
#[fluffy][sknebel] Yeah, having the endpoint provide the canonical URL would be much better, but that also means having to formalize a response from the endpoint. Right now in our ad-hoc pre-spec land I’m just expecting a 2xx code to indicate success. A 3xx redirect wouldn’t be appropriate for this, so we’d be looking at having a JSON result instead.
#[fluffy]And I mean, we’re already doing a request to a profile page to look up the ticket endpoint, why not use that and rel=“canonical” at that point?
#[fluffy]Having the endpoint do the redirect means an extra request (to the new profile to look up the new endpoint), which isn’t the end of the world but also feels inelegant.
#sknebel"(to the new profile to look up the new endpoint)" only if it isnt in the redirect chain, but yes
#[fluffy]A redirect chain isn’t secure though, imagine alice.example declaring an endpoint that pretends to be bob.example. How does the sender know what the identity is?
#[fluffy]The sender’s trust is all in the URL they tried to access to get the endpoint.
#[fluffy]There *needs* to be a fetch of the profile to ensure that they’re getting the right endpoint for the identity.
#[fluffy]rel=canonical on the profile handles that, I don’t see any chain of trust that works at the endpoint level
#sknebelsame way as its done for the differing profile urls
#sknebelits an optimization for some cases to avoid the second fetch
#sknebel(if you've went A->B->endpoint and get "B" as the fixed profile URL, you dont need to fetch "B" again to check if it points to the same endpoint)
#sknebelWonder if there is some general guidelines somewhere what's the best patterns for "these identities are the same" in oauth or other systems
#[fluffy]OAuth makes it all implementation-dependent and doesn’t really have a fixed concept of an “identity,” it just has client token/secret.
#[fluffy]IndieAuth’s rules around identity collapse used to be way more liberal and were controlled at the domain level, but that leads to some pretty obvious and onerous attacks on shared domains with individualized hosting (e.g. tilde.club or academic homepages) and so that’s why we went through the whole revision with validating it based on matching endpoints.
#[fluffy]The IndieAuth response ‘me’ can be whatever you want now, BUT the client needs to fetch that ‘me’ page to ensure that the endpoint matches.
#sknebelBut some of this also applies if someone logs into your site to access content
#[fluffy]It was a lot simpler when the spec was just around “okay here’s how to send a ticket to someone to redeem, let’s not worry about an automated flow” but now folks are building things with an automated flow.
#Loqi[fluffy-critter] #87 Standard mechanism for requesting a ticket auth ticket grant?
#sknebelE.g. if my site says at the end of the flow that I'm a.com/even and your ACL says "access for A", it's a similar problem, right?
#[fluffy]For some reason they keep on sideband talking with me about this over email and I need to get them to come here to discuss it to a wider audience.
#sknebel(sorry for being off and on, on the move and typing on phone)
#[fluffy]Yeah ACLs are very implementation-dependent and the token grant needs to know what identity it’s being granted for
#[fluffy]The core TicketAuth protocol was written with the assumption that we already know the canonical profile URL and that we can look up the ticket endpoint from that. Which is a great assumption for the “site owner grants access to someone” flow. But it falls apart when it comes to having someone *request* that a ticket be granted to their arbitrary URL.
#[fluffy]ah, it looks like he’s been here before (omz13), just not very active.
epoch joined the channel
#sknebelAh yeah, I have seen that user name somewhere
#[fluffy]Yeah, he emails me about TicketAuth a lot. Anyway I just asked him to bring the conversation here so I’m not the single point of contact representing all of IndieWeb. 🙂
#[tantek]1"_Make it easy for anyone to publish on the web_: While early websites were relatively simple and easy to build, the demands of performance and high production values have made the web increasingly daunting to work with. Our strategy is to categorize development techniques into increasing tiers of complexity, and then work to eliminate the usability gaps that push people up the ladder towards more complex approaches."
#[tantek]1and: "_Give users the power to experience the web on their own terms_: The web is for users. In order to fulfill that promise we need to ensure that they, not sites, control their experience"