iasai, [eddie], snarfed, tantek__, renem, tantek, gRegorLove, leg and oodani joined the channel
#oodanihm. indieauth is /almost/ compatible with generic oauth 2.0 clients, except that the 'me' parameter is new - would it be safe to make 'me' optional, since it can be discovered based on who's logged in?
#oodanii just went ahead and made it optional :p it's still validated if it's provided, but if it's omitted the correct 'me' for the current user is automatically assumed. should be just as secure, since you need to be logged in either way.
[eddie], iasai, KartikPrabhu, [jgmac1106] and barpthewire joined the channel
#Zegnatoodani, interesting thought. I don’t think you lose any security by making the me parameter optional on the initial request. Could you open a discussion about that on https://github.com/indieweb/indieauth/issues ? And why you chose to make it optional? Might be worth documenting!
leg joined the channel
#aaronpkIn theory it should be possible to treat IndieAuth as plain OAuth and leave out the "me" parameter entirely, but in practice apps do want to know who logged in
#aaronpkAlmost no apps use OAuth the way OAuth was intended (without user identity)
#ZegnatMy first thought was that this is about the me parameter in the query upon first request? Not dropping the me from the JSON response? The latter being what the apps want to know?
#aaronpkAh yeah it could be optional in the first request
#aaronpkSome OAuth servers have an equivalent of the "me" in the request
#aaronpkIt's really more of a hint or suggestion in the request anyway
#ZegnatThat’s what I thought. And if oodani dropped the requirement for it on first request, that could be a good discussion to have. And could maybe be reflected in the spec at some point by marking it optional
#aaronpkThe reason to include it in the request is to help shared IndieAuth servers, otherwise the IndieAuth server has to ask the user for their identity again after they just gave it to the client
#aaronpkWithout the "me" in the request the flow would end up being: enter your url into app so it can discover your IndieAuth endpoint, you get directed to your IndieAuth endpoint where it has to ask for a username/url again and then authenticate there
#aaronpkI guess you could solve that by telling users their authorization endpoint is something like "myindieauth.com/auth?me=aaronpk.com"
#ZegnatOnly incase of the multiple-user endpoints. And even then, in cases of it being a multi-user CMS, chances are you are already logged in anyway. So I can totally see it being optional.
#ZegnatThat is: optional for the endpoint to check. IndieAuth clients should be very much encouraged to send it along.
#aaronpkIn any case, explaining that it's really more of a suggestion in the request might help clear things up around the security aspect of it
#ZegnatI was really interested in the use-case oodani ran into (other OAuth apps?) that made the decision to drop the me. So some context in an issue could really help the discussion :)
#aaronpkThe other thing is in practice OAuth servers are subtly different from each other anyway so there isn't usually a generic OAuth client that actually works 100% on every server out there
#aaronpkAnd thankfully OAuth 2 is so much simpler than 1 that a library isn't usually necessary
#aaronpkThe real work around an IndieAuth client is dealing with endpoint discovery and verifying the domain of the "me" returned at the end matches the start. And an OAuth client won't help you there
#ZegnatI so wish discovery didn’t involve HTML parsing. While at the same time love how easy it is for people to add it to their websites without mucking with response headers. Conflicting feelings abound ;)
#ZegnatArgh, Firefox, why! An empty lang-href makes the browser decide the entire page is probably not using the Latin alphabet, so lets not apply the users chosen font settings!
#Zegnatgoes to see if there are add-ons to configure default fonts instead
#oodanimy particular use case for oauth2-compatible indieauth is paw.app, because it has support for oauth built-in - i was using jwt for tokens earlier, and having paw generate its own rather than fetch them from my site, but after switching to database-backed tokens i actually needed to do the oauth dance and it didn't *quite* work
#oodanii imagine other Advanced Http Client Apps, like postman, would also support oauth2 but not indieauth out of the box? so. those kinds of apps
#ZegnatI don’t use any of those apps (the price never seemed worth it to me, especially for Paw) so I am not sure what type of OAuth flow they support. An issue with some of the details would be super appreciated!
#oodanipaw doesn't actually implement oauth 2.0 *correctly*, even ignoring the indieauth extension, so that's. obnoxious
#oodani(it doesn't include the client id when it's retrieving a token using a code :/ )
#oodanibut yeah i'll figure out exactly what it can and can't do and make an issue c: i'll check postman too, i think i have it installed