#KartikPrabhutantek: is there a good reason to do that?
#tantekKartikPrabhu: for those of us who are not yet reading/parsing tweet permalink URLs, it gives a way to show an avatar icon purely by extracting a twitter username from the tweet permalink URL
#KartikPrabhutantek: oh i see. Right now the only silo interaction I do is through bridgy which just gives me the avatar. Would be useful when I parse tweets myself
#tantekKartikPrabhu: right. Currently I'm not even handling bridgy webmentions yet (or any), however I am showing minimal reply contexts (just URL).
#tantekso I might use it as a lazy small improvement in my reply-contexts - that's the specific use case, so I thought I'd share
#KartikPrabhuyup. i should do reply-contexts and this would be useful...
#tantekI like to do the lazy small improvements to set an example that it's ok to do so :)
#KartikPrabhutantek... thanks that's the one I'll add then :)
#tantekalso it's interesting that you're able to display and style the *follow-up* from Twitter so nicely, yet not the original reply-context. Because technically they're the same right? They're just both tweet permalinks.
#KartikPrabhutantek: the follow-up is due to bridgy sending mentions! I'm planning to adapt some of the bridgy code to do reply-contexts ;)
#tantekwhere you could simply put the permalink as a path like hentry.io/twitter.com/craigmod/status/428681469402169344 and have it return a minimal hentry the same way Bridgy does?
#aaronpkhm I let neverusethisfont.com expire about 2 years after returning 301 redirects for all the URLs, but apparently forgot about all the shortlinks!
#tantekand somehow my "Recent Articles" box broke recently. drat.
#aaronpkthe best part about fragmentions is even if the browser / server /whatever doesn't support it, or if there's a bug, I still can figure out what the heck the link is mentioning
#tantekaaronpk - yeah, the manual human-readable fallback is quite nice
#KartikPrabhuthat is my fav example to explain "progressive enhancement" :)
lukebrooker joined the channel
#aaronpkkbs: not sure if you saw my note from last night, but I'm pretty sure there's no good reason to use self-encoded tokens for the authorization code
#aaronpkbecause you end up needing to make an HTTP request anyway in order to fetch a key
#aaronpkso you may as well use that HTTP request to verify the auth code and just be done with it
#kbsaaronpk: at any rate - dunno if you saw the other blather I put on the page. Thought there might be a simplification of the authorization endpoint possibly
#kbssure, it's one of many approaches :) lack of a mobile device for people hosting indiewebsites didn't seem too problematic, and the rest of the flow is pretty simple - but anyway -- it's a thought
#aaronpkkbs: at least the nice thing about TOTP is it doesn't require an active internet connction, so you can still use the code generator when traveling w/o data or in bad network conditions
#kbs(also, mobile device is only needed during the initial app setup - it's functionally exactly what the remote authorization endpoint does.) Anyway :) I'll toss it up there and see if maybe some parts of it look useful
#aaronpkkbs: ok cool. bonus points if you can point to some existing implementation / spec that does that
#aaronpki'm trying to (re)invent as little as possible and just build on top of OAuth 2.0
#kbs*nod* - nope - this would be closer in spirit to what google did, rather than strictly following the oauth spec, where all the endpoints are strictly located remotely
#aaronpklooking at this another way, what are the common reason for revoking tokens?
#aaronpk1) user "uninstalls" an app and wants to make sure it can't post ever again (actually blacklisting all tokens from the app in that case)
#aaronpk2) user sees suspicious tokens in their history and wants to clean up the list of active tokens to only known ones
#aaronpkfor #1 i'm thinking of the facebook example where you can click on a post on your wall and click "hide post" and then it asks "do you also want to stop this app from posting?"
#aaronpk"This is a list of devices that have logged into your account. Revoke any sessions that you do not recognize."
#aaronpkjeez you know that's actually a pretty good argument for having API-based verification of access tokens, so that the token endpoint can do cool stuff like that and provide tools for you to manage your active sessions
#kbs*waves* gotto run, will continue to follow aaronpk's authorization adventures :)
#aaronpk"Why is there this expectation that every website should be a forum? No website has any obligation to provide a space for your rants. Use your own space on the web to do that."
#aaronpkoh yeah sure! moving to the new server helped
tantek joined the channel
#aaronpkonce we get to the point of sending event invites from our own domains rather than just posting events, this thread will be an interesting use case reference:
#GWGIf it is blank, it means I messed something else up.
#david.shanske.comcreated /facepile (+331) "Created page with "The Facepile is a design element popularized by Facebook. == Description == It consists of a row or rows of profile photos of individuals who have all completed a webaction inv..."" (view diff)
#gRegor`"26-27" will fit - it's snug. But then of course what about events that span months.
#gRegor`Since it's for a reusable template, don't want to make it super complicated.
#gRegor`I'm thinking calling attention to the start date is sufficient. The full date will always be listed in the details, right under the event name.
#GWGI just found a tag that wasn't closed in the Facepile code
#aaronpkit should work with any authorization endpoint
#aaronpkon http://ownyourgram.com/creating-a-token-endpoint it says "The authorization endpoint can be used to verify these values. However you will first need to determine which authorization server this user delegates to. This is done by looking for a rel="authorization_endpoint" link on the user's home page"
#emmakoh, is that POST request to validate a code part of the oauth2 spec?
#aaronpkit's part of the handwavey part of the oauth2 spec
#emmaki guess when i first read the spec, i assumed both auth and token endpoints would be on the same server, and validating the code would happen internally
#aaronpkthe part that says "communication between the token endpoint and authorization endpoint is out of scope" :D
#aaronpkyeah most implementations they are in the same codebase, but in most enterprise environments they are on separate servers often
#aaronpkso the job of the IndieAuth spec is to take these holes in OAuth 2.0 and fill them with the things we need for it to work for us
#aaronpkI'm hoping to have this stuff well documented this weekend before IIW
#aaronpkso I may ping you later to review new docs :)
#KartikPrabhuemmak: are those photos in the stream through ownyourgram ?
#aaronpkalso side note: the *very first* thing I wanted to do after launching the change to my token endpoint is see a list of all current apps i've authorized so I can go re log in to all of them
#aaronpkwhich is another good motivator for me to make a nice web interface for the token endpoint that can show stuff like that
#emmakaaronpk: i'd be glad to help review your new docs
#aaronpkcause I'm wondering if it ever makes sense for my site to accept access tokens from others
#kbsIt struck me that in this case as well, it might be better for the token-exchanging-endpoint to cross-check parameters - there's just a mismatch there more than anything else
#kbsbut anyway - minor thing. That's the only thing I saw in my quick test - very nicely done :)
#kbsthe other thought was more philosophical I think - given that client-authentication doesn't exist -- I can sign-in with client-app == https://google.com which shows up at the auth endpoint
#kbsit's a nifty implementation, albeit with a lot of moving parts :) great you've managed to hook all of them together
#aaronpkah yeah I need to add redirect URI validation at indieauth.com, so that the client ID URL must point to the redirect URI, that'll fix that
#kbsis the token passed from the auth endpoint to the token-exchange endpoint is just the signature alone?
paulcp_ joined the channel
#kbsIt doesn't seem to be a jwt token (or, it seems like just the signed bits)
#aaronpkthe auth codes indieauth.com generates right now are just random strings
#KartikPrabhusnarfed: benwerd: I think kylewm sent a mention from his feeds page which had one article linking to the post but all of them got picked up.
#aaronpkbut might be best to suck it up and use them anyway
#kbs:) at any rate, a followup thought was that I was thinking whether you might find adding the "iss" to the bearer toke (or a less awkward name :) handy
#aaronpkbecause many of these values do need to be communicated between each of the endpoints
#aaronpkbut whether a client decodes the values from the JWT or queries an API for them it's about equivalent
#aaronpkso yeah should probably stick to the JWT names for things
#kbsagree with the bit about the ugly names :) but at any rate, also figure I'd run the "is adding 'iss' useful" thought your way and let you cogitate :)
#kbsaaronpk: ah, I see - then if (say) a micropub endpoint is willing to accept > 1 token-exchanging endpoints, it would find "iss" handy [though I believe you can also look that up from the rel=me links from the "prn"s site]
#aaronpkin any case we're in kind of a chicken/egg situation if the micropub endpoint accepts > 1 token endpoint
#aaronpkbecause the micropub request comes in with a token and no other identifying information. You'd have to decode the token without first verifying the signature in order to pull out the "iss" or "prn" values.
#aaronpkthen after finding the keys, you could verify the signature of the token
#aaronpkI will be trying to think of a case when a micropub endpoint wants to use tokens from somewhere else
#kbsI think only djb might complain about having to decode before verification, because that exposes a larger surface for attacks
#aaronpknow that I have the base case implemented I can probably get my head around more complex relationships now
#kbsyea :) I like bearer tokens too - at least there's some structured way to wrap my head around what's going on.
_6a68 joined the channel
#kbsaaronpk++ GWG - he's figured out a way to let you approve 3rd party apps to publish to your site, still using indieauth basically. [sort of like how you might approve a new twitter client I guess, except now it's to your own site...]
#GWGI just like to hear what people are imagining.
#GWGI was listening to a guy recently being interviewed who posts all of his development ideas for an open source project...but he doesn't actually do all of them. Too many
#kylewmdoes notenoughneon use micropub for ownyourgram only or for all post types?
#aaronpkprobably just photos right now since it's brand new and she's been making the other posts by hand for now
snarfed, KevinMarks and lukebrooker joined the channel