2014-05-01 UTC
kbs, KevinMarks_, emmak, saurik, tantek and KartikPrabhu joined the channel
# 01:16 tantek Anyone here play with avatars.io to show icons for things from silos?
dybskiy joined the channel
# 01:24 tantek KartikPrabhu: 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
# 01:25 KartikPrabhu tantek: 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
# 01:26 tantek KartikPrabhu: right. Currently I'm not even handling bridgy webmentions yet (or any), however I am showing minimal reply contexts (just URL).
# 01:27 tantek so 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
# 01:27 tantek I like to do the lazy small improvements to set an example that it's ok to do so :)
# 01:33 benwerd so avatars.io is interesting, although I wish it was a JS library rather than a centralized service
# 01:34 tantek benwerd, see the bottom of avatars.io home page - I think much of it is on github so you can DIY on your own server
# 01:34 tantek kind of like Bridgy. hosted service, or deploy on your own server.
# 01:35 tantek which is a good pattern. does that have a name? would like to document examples of that.
# 01:35 benwerd I don't know, but it's a pattern I have every intention of contributing to
# 01:35 tantek KartikPrabhu: that's a very nice reply example btw - showing both a reply-context and a follow-up reply from Twitter.
# 01:36 tantek also 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.
# 01:40 KartikPrabhu tantek: the follow-up is due to bridgy sending mentions! I'm planning to adapt some of the bridgy code to do reply-contexts ;)
# 01:45 tantek KartikPrabhu: interesting - I wonder if there is a way to just use Bridgy to retrieve the bits of a tweet like that
# 01:46 KartikPrabhu tantek: not directly, but one could adapt the activity-streams code to generate microformats version of a tweet
# 01:48 tantek snarfed - what do you think of breaking out the hentrification code from Bridgy / AS to a service like hentry.(pick-a-tld)
# 01:50 tantek where 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?
benwerd joined the channel
# 01:52 aaronpk hm I let neverusethisfont.com expire about 2 years after returning 301 redirects for all the URLs, but apparently forgot about all the shortlinks!
# 01:57 tantek and somehow my "Recent Articles" box broke recently. drat.
# 02:00 aaronpk the 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
# 02:00 tantek aaronpk - yeah, the manual human-readable fallback is quite nice
lukebrooker joined the channel
# 02:15 aaronpk kbs: 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
# 02:15 aaronpk because you end up needing to make an HTTP request anyway in order to fetch a key
# 02:16 aaronpk so you may as well use that HTTP request to verify the auth code and just be done with it
# 02:20 kbs aaronpk: oh, didn't see it -- reading..
# 02:24 kbs I see, okay. Typically though, the public key requests are cached for some duration, usually specified by the provider of the public key
# 02:24 tantek a-ha! found it. teaches me to use an & in a blog post (article) title. ahem.
# 02:25 aaronpk kbs: yes, although in practice most of the time logins may be from domains you havent ever seen before
# 02:25 kbs would the public key be issued by the authorization service, rather than the login itself?
# 02:26 aaronpk so i realized this after trying to implement a token endpoint as a standalone project
# 02:26 kbs aaronpk: 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
# 02:26 kbs which would also simplify the token endpoint
# 02:27 tantek GWG yeah I broke it with a blog post this past Sunday
# 02:27 GWG tantek: Did anyone ever post the pictures from Saturday?
# 02:27 tantek and *just* noticed it was missing. ahem. yay for instrumenting code with debugging to help track this kind of stuff down.
# 02:28 KartikPrabhu question: is there some way/recommendation for having paginated h-feed?
# 02:29 aaronpk kbs: hm i'm not really sure I follow that, especially cause the example is with a mobile app
# 02:29 aaronpk also I'm trying to (re)invent as little as possible, just building on top of OAuth
# 02:30 kbs aaronpk: ah - you can substitute mobile-app for web-app - the mechanics are identical
# 02:30 aaronpk "user installs these keys on their mobile device" <- seems a little hand-wavey here?
# 02:32 aaronpk ok then that seems like something else then, or maybe an optimization on top of everything else
# 02:33 aaronpk I *am* a fan of TOTP (I have a bunch of TOTP secrets on my pebble watch which makes for great demos on stage!)
# 02:33 GWG aaronpk: I am nervous about having it on my Pebble
# 02:34 kbs sure, 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
# 02:34 aaronpk kbs: 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
# 02:35 GWG The 1.0 to 2.0 transition was a bit rocky
# 02:35 kbs (aaronpk: I guess to actually _use_ the code you'll need a connection of some kind :)
# 02:37 kbs btw, the other thought there is (I think) likely many interesting third-party posting opportinuties sit on mobile devices
# 02:37 kbs so there might be something there as well
# 02:41 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
# 02:42 aaronpk kbs: ok cool. bonus points if you can point to some existing implementation / spec that does that
# 02:42 aaronpk i'm trying to (re)invent as little as possible and just build on top of OAuth 2.0
# 02:43 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
# 02:45 kbs closer in spirit :) but I have a feeling the constraints you're working with don't match well with this idea :)
# 02:52 GWG Is this a...where in the world is tantek situation?
# 02:52 GWG Then why does your site say...current city, San Francisco?
# 02:54 kbs naturally, ip addresses don't lie :)
# 02:54 GWG I wasn't aware I should be checking the IP addresses of people I chat with
# 02:54 kbs sorry :) just making a rather poor joke
# 02:56 aaronpk connects through a bouncer so it just looks like i'm always in fremont
# 02:56 kbs (and then there are those who mess with their ip address just to tee off everyone else :)
# 03:01 tantek GWG - because that bit of static content on my home page is not yet updated automatically with say the last city I checked into ;)
# 03:02 tantek and all my posts are still in Pacific Time even though I'm in Melbourne
# 03:02 GWG tantek: So...you were in NYC on Sunday. Where did you go after that?
# 03:04 tantek GWG Monday was NYC->SFO->Auckland->Melbourne and then it was Wednesday. I didn't experience Tuesday.
# 03:09 aaronpk oh man what am I going to do about revoking tokens
# 03:13 aaronpk with self-encoded tokens really the only way to be able to revoke tokens is to issue short-lived tokens that have to be refreshed often
# 03:15 kbs do you think it might be simpler to have tokens revoked directly by the resource endpoint itself?
# 03:15 aaronpk like the resource endpoint is responsible for blacklisting tokens basically?
# 03:16 kbs yea, also for showing its activity, tracking etc
# 03:16 aaronpk looking at this another way, what are the common reason for revoking tokens?
# 03:16 aaronpk 1) 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)
# 03:17 aaronpk 2) user sees suspicious tokens in their history and wants to clean up the list of active tokens to only known ones
# 03:18 aaronpk for #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?"
# 03:18 aaronpk "This is a list of devices that have logged into your account. Revoke any sessions that you do not recognize."
# 03:20 aaronpk jeez 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
# 03:21 kbs *waves* gotto run, will continue to follow aaronpk's authorization adventures :)
j12t joined the channel
tantek, dybskiy and j12t joined the channel
fmarier joined the channel
# 04:31 KevinMarks Aaron that is bothersome, especially with the editable fragmention use case
# 04:32 aaronpk KevinMarks: yeah and people are guessing the real reason is to drive more search traffic to google
Kopfstein and gRegor` joined the channel
# 04:46 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."
# 04:52 KartikPrabhu is going through his G+ stream and adding syndication links to own site!
tantek joined the channel
# 04:56 aaronpk once 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:
# 05:02 kylewm did you use the prayer emoji for a high five?
# 05:02 aaronpk also if you view the IRC logs in safari you see all the emoji :D
# 05:04 kylewm apparently there is lively debate on the internet
# 05:05 kylewm i definitely would've thought high five if the mouseover hadn't said praying hands
# 05:10 aaronpk kylewm: davy says "Ps prayer hands have totally been co-opted for high five in emoji land"
# 05:11 kylewm aaronpk: lol, they are a whole lot more useful that way
snarfed and davy_ joined the channel
# 05:15 GWG I was thinking of incorporating the time onto my page
# 05:15 GWG aaronpk: Your page has the local time
# 05:15 kylewm sort of reminds me of MS DOS programs that included a clock because there was not one on the screen otherwise
# 05:16 tantek would that go before or after the hit counter? ;)
# 05:17 GWG tantek: People still have hit counters?
# 05:18 kylewm before the hit counter, but after relevant webrings
# 05:19 GWG The reason to have the time is to help people relate my time zone to theirs.
# 05:19 GWG Is there a good reason to do that?
# 05:20 aaronpk GWG: i have yet to hear someone use it from my site, so I don't know
davy__ joined the channel
# 05:21 GWG It is under consideration because I considered switching from absolute to relative time displays.
# 05:24 kylewm I like the idea in the context of mobile personal comms stuff, where you'd see what time it was before messaging the person
# 05:25 KartikPrabhu I was wondering how to markup facepiles and what to show in alt text and titles
# 05:25 GWG KartikPrabhu: Is there a standard for that?
# 05:25 KartikPrabhu facepile = showing a bunch of avatars for instance for mentions and likes of a post
# 05:26 GWG KartikPrabhu: I have facepiles of my own
# 05:27 KartikPrabhu GWG: yeah I was wondering how to mark it up. and some best practice of what to show on mouseover and the like
# 05:27 GWG kylewm: It is only a matter of changing a code to change. Right now I have the full EDT timecode
# 05:28 GWG KartikPrabhu: On mine, if you hover over the image it shows the person's name. Below that, I have the action. Example: Liked.
# 05:28 GWG If you hover over the action, you get where it was liked.
# 05:29 GWG KartikPrabhu: You separate them by category. I call them all mentions and put the action below.
# 05:31 KartikPrabhu GWG: that is a good approach. We should document these diff. facepiles
# 05:32 GWG KartikPrabhu: Is there a Facepile page on the wiki?
# 05:32 aaronpk but I *think* have enough built out that I can switch aaronparecki.com to use it
# 05:33 KartikPrabhu GWG: nope... but once I get some definition of facepile in my head I'll start one. or you could if you have it
# 05:34 KartikPrabhu GWG: the anonymous mention is a little above the rest. any reason or funky CSS behaviour
# 05:35 GWG KartikPrabhu: I'm honestly not sure. I saw it, but I haven't looked into why
davy_ joined the channel
# 05:36 gRegor` GWG: Need vertical-align: top
# 05:37 GWG gRegor`: I'm not sure why some aren't aligning when others are. I just haven't played with it. I may try an align.
# 05:37 gRegor` There isn't one. I just did it in Chrome inspector and it works
# 05:40 KartikPrabhu GWG: also if you put a text as "Liked" in the correct spot it re-aligns. but gregor`'s solution works too
# 05:40 GWG Well, the text is imported from the metadata
# 05:40 GWG If it is blank, it means I messed something else up.
# 05:42 david.shanske.com created /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 )
# 05:43 KartikPrabhu tantek: I use it since I fixed up mention-parsing I could track it down... and I'll add it to the newly minted page. thnks GWG
# 05:52 gRegor` "26-27" will fit - it's snug. But then of course what about events that span months.
# 05:52 gRegor` Since it's for a reusable template, don't want to make it super complicated.
# 05:53 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.
# 05:55 GWG I just found a tag that wasn't closed in the Facepile code
dybskiy joined the channel
# 06:07 aaronpk okaayyyy well aaronparecki.com now delegates access tokens to tokens.oauth.net
# 06:07 aaronpk and that's a little server that sits there and dishes out access tokens all day long
# 06:08 aaronpk (after validating the request with the appropriate authorization server)
# 06:08 aaronpk bret: so you can go ahead and use it now if you want :D
tantek and LauraJ joined the channel
KevinMarks joined the channel
# 06:25 aaronpk did ownyourgram.com give you enough tools to debug the process while developing?
# 06:25 emmak yes, but i felt the documentation was a bit confusing
# 06:30 emmak i used indieauth, but read half of the documentation on the indieauth website, so i ended up using the json api
# 06:30 aaronpk i've been making progress on that over the weekend
# 06:31 KartikPrabhu plans to put value-class-parsing in mf2py to finally have lazy-loading avatars :)
# 06:31 aaronpk specifically the Authorization Endpoint and Token Endpoint sections
# 06:31 emmak i didn't realize ownyourgram's "create a token endpoint" was explaining how to using indieauth specifically
# 06:33 aaronpk on 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"
# 06:33 emmak oh, is that POST request to validate a code part of the oauth2 spec?
# 06:33 aaronpk it's part of the handwavey part of the oauth2 spec
# 06:34 emmak i 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
# 06:34 aaronpk the part that says "communication between the token endpoint and authorization endpoint is out of scope" :D
# 06:34 aaronpk yeah most implementations they are in the same codebase, but in most enterprise environments they are on separate servers often
# 06:35 aaronpk so 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
# 06:38 aaronpk I'm hoping to have this stuff well documented this weekend before IIW
# 06:41 aaronpk also 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
# 06:41 aaronpk which is another good motivator for me to make a nice web interface for the token endpoint that can show stuff like that
# 06:43 emmak aaronpk: i'd be glad to help review your new docs
# 06:46 aaronpk ok well that was a bigger project than expected (mostly due to thinking things through) but it's done!
dybskiy, KartikPrabhu, KevinMarks, KevinMarks2, krendil, erikmaarten, eschnou, fmarier, squeakytoy and bnvk joined the channel
bnvk joined the channel
carlo_au, erikmaarten, scor and tantek joined the channel
ttepasse and chloeweil joined the channel
scor joined the channel
# 14:22 jonnybarnes good post tommorris, would this affect someone wanting to make it so their website can POSSE to facebook?
# 14:23 jonnybarnes presumably that'd mean setting up an app that request the ability to post to ones timeline, which would then need to be reviewed.
# 14:23 tommorris jonnybarnes: possibly. If you are just doing it for yourself, it might not be a big problem because youād be an admin/developer on the app
# 14:23 tommorris and you can always implement it using the sharing panel so you just have to pop open a share panel and click post.
# 14:24 tommorris that said, I think Facebook probably wonāt care too much about people POSSEing their own blog posts in
fungoat joined the channel
# 14:31 tommorris GWG: might do. Existing apps have a yearās grace period, so getting approval for a V2 app key should be fairly easy to do.
snarfed, gRegor`, glennjones, v0, wraithgar, voxpelli, tahnok, brainTrain, KevinMarks, kevinbae, iangreenleaf and tilgovi joined the channel
KevinMarks, snarfed, _6a68, ttepasse, brianloveswords and paulcp joined the channel
dybskiy, glennjones_, eschnou and kbs joined the channel
# 17:13 kbs aaronpk: very nice on the implementation - played with it briefly :)
# 17:13 kbs in that I was able to obtain an access token, yes
emmak joined the channel
# 17:14 kbs couple of thoughts *gathers them* :)
# 17:15 kbs this is not a big deal, as you also validate it (I think) in your micropub endpoint
# 17:15 kbs but possibly could be rejected right here
# 17:16 kbs ah, hope that made sense? :) sorry, haven't had my caffeine yet
# 17:17 kbs ie - the signed token still contains me=<the-bad-guy> -- so it can eventually be verified that I can't impersonate a different person
# 17:17 kbs but it could possibly be detected and recjected earlier. (minor thing, basically)
# 17:18 aaronpk cause I'm wondering if it ever makes sense for my site to accept access tokens from others
# 17:19 kbs It 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
# 17:19 kbs but anyway - minor thing. That's the only thing I saw in my quick test - very nicely done :)
# 17:20 kbs the 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
# 17:22 kbs it's a nifty implementation, albeit with a lot of moving parts :) great you've managed to hook all of them together
# 17:30 aaronpk ah 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
# 17:33 kbs is the token passed from the auth endpoint to the token-exchange endpoint is just the signature alone?
paulcp_ joined the channel
# 17:34 kbs It doesn't seem to be a jwt token (or, it seems like just the signed bits)
# 17:34 aaronpk the auth codes indieauth.com generates right now are just random strings
# 17:34 aaronpk I didn't actually change anything about indieauth.com to make this work
# 17:35 aaronpk if I do switch to signed tokens from the auth endpoint, it'll be an implementation detail of the auth endpoint and still opaque to the clients
KevinMarks joined the channel
# 17:36 kbs yep - mostly was just taking a quick look at the nature of the tokens being exchanged, was curious. Fully appreciate this is all iterative
# 17:40 kbs So currently the jwt-access-tokens don't have an expiry date
# 17:40 kbs I'm sure already have some idea in mind to potentially add this as needed
# 17:41 kbs *thinking* would it be useful to include the target site in the JWT token? As it stands, the JWT token can be used anywhere
# 17:42 kbs this token is only valid for _this_ site
# 17:43 kbs otherwise, could me (as an 3rd-party-app in possession of such a token) reuse that token on a different site? Or, does it matter, I guess
# 17:44 kbs here's the JWT token I currently have
# 17:44 kbs { "me": "http://kbsriram.com", "scope": "post", "date_issued": "2014-05-01 17:10:38", "nonce": 1025026397, "client_id": "https://google.com" }
# 17:45 kbs When I went to indieauth.com, I see a screen that says (roughly)
# 17:45 kbs google.com wants to have posting access to your site at kbsriram.com
# 17:45 kbs now the 3rd-party-app going by the name of google.com gets hold of the token above
# 17:46 kbs later, (let's say) aaronparecki.com decides it's ok for user kbsriram.com to post on his site
# 17:46 kbs there's no further authorization needed (as it stands) for the app to begin posting on aaronparecki.com
# 17:46 kbs Ie - the token is scoped for the user, but not the sites where it may be used
# 17:47 aaronpk I think that's the "audience" in the official JWT spec
# 17:48 aaronpk or default to audience = me if not specified, and micropub endpoints should verify it
# 17:50 aaronpk so if a micropub endpoint gets a request with no audience specified, it should assume the audience is the same as "me"
# 17:51 aaronpk and micropub endpoints should only accept tokens with an audience that matches themselves
# 17:52 kbs all in all, looks neat aaronpk :) - will continue to watch from the peanut gallery...
# 17:53 aaronpk i'm hoping to wrap up a lot of this this weekend and write good docs
# 17:53 aaronpk so that people going to IIW next week have good stuff to point to
# 17:55 kbs whoever wrote that spec must be a fellow-dinosaur from the bad old C days (with all the 3-letter values :)
# 17:56 aaronpk well I think another reason for the 3-letter values is because it makes the resulting token shorter too
# 17:56 kbs ah! okay - that makes more sense, thanks :)
# 17:56 kbs thanks god they didn't decide to further huffman encode it
# 17:57 kbs (context is openpgp is filled with many micro-space-optimizations like this which just makes implementations more complicated and bug-ridden)
caseorganic, bnvk, caseorga_, caseorg__, j12t, eschnou, brianloveswords and benwerd joined the channel
# 18:31 snarfed any chance you can find the webmentions in your logs and see where they're coming from?
# 18:31 snarfed the source pages obviously don't link to that page
# 18:33 KartikPrabhu snarfed: 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.
# 18:34 snarfed aha. so maybe an idno bug when the source is a feed
# 18:34 KartikPrabhu i suspect idno uses all h-entries on a page but it should be using only the first
# 18:35 kbs (KartikPrabhu: ah, no clever idea here :/ just searched by-hand. The corresponding google-site search doesn't seem that useful)
bnvk joined the channel
grantmacken, hallettj_, LauraJ, voxpelli and brianloveswords joined the channel
# 19:00 kylewm benwerd: sorry about that, curiosity got the better of me.
eschnou joined the channel
brianloveswords, glennjones and KartikPrabhu joined the channel
# 19:30 kylewm benwerd: I tried deleting my comments by returning a 410 for kylewm.com/everything, but that (unsurprisingly) didnāt work
caseorganic joined the channel
# 19:42 bret i have been ultra busy with school :/
jonnybarnes, KartikPrabhu and mgarrido joined the channel
# 19:57 benwerd kylewm: well, quite a bit is broken at my end, then, because that should be working
krendil, tilgovi and paulcp joined the channel
# 20:42 kylewm and I wasnāt trying to be malicious, just testing to see if thatās how all barnabyās posts got there :)
brianloveswords and barnabywalters joined the channel
hallettj_ joined the channel
# 20:59 barnabywalters apparently my mention registering code resolves the target URL, but doesnāt resolve the in-reply-to URL (if any)
bnvk and pauloppenheim joined the channel
# 21:11 bret aaronpk/anyone is rel="indieauth" in use?
brianloveswords and paulcp_ joined the channel
# 21:28 aaronpk unless the openid conenct people get mad at me using their "authorization_endpoint" rel value
# 21:51 aaronpk I seem to be getting empty GET requests to my token endpoint from browsers
# 21:51 aaronpk it must be browsers pre-fetching URLs they find on the page
kbs and _6a68 joined the channel
# 22:00 aaronpk i was considering it, only if I actually expect clients to decode the JWT
# 22:01 aaronpk currently I'm only using JWT as a convenient form of signing for internal use
# 22:01 kbs oh, hm :) wouldn't a micropub endpoint need to understand the JWT token, assuming it comes from a service like indieauth+token.net?
# 22:02 aaronpk currently my micropub endpoint makes an API request to the token endpoint to verify the token, so it doesn't need to know how to decode it
# 22:02 aaronpk of course it does need well-known property names for the values
# 22:03 aaronpk but might be best to suck it up and use them anyway
# 22:03 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
# 22:04 kbs the URL of the issuer - the place where you go back to get the public key to validate the signature
# 22:04 kbs I think right now you use the "me" parameter to pick that up
paulcp joined the channel
# 22:04 aaronpk no the token endpoint would be providing its own public key
# 22:05 kbs right. So the micropub endpoint would get "iss"="url-to-token-endpoint"
# 22:05 aaronpk and it would expect to be able to make a request there and retrieve the public key
# 22:06 aaronpk (currently an empty GET request to the token endpoint is a 400, so that would give a GET request some purpose)
# 22:06 kbs I think you have that info [in some handwavy way] also in the rel=xxx values, but maybe it might be handy to have this in the bearer token itself
# 22:06 kbs well - that would be an interesting idea for sure
# 22:07 kbs (I was initially assuming these tokens were part of the protocol itself
# 22:07 kbs but understanding your thinking a bit better, guess it's irrevelant)
brianloveswords joined the channel
# 22:08 aaronpk because many of these values do need to be communicated between each of the endpoints
# 22:08 aaronpk but whether a client decodes the values from the JWT or queries an API for them it's about equivalent
# 22:09 aaronpk so yeah should probably stick to the JWT names for things
# 22:10 kbs agree 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 :)
brianloveswords joined the channel
# 22:12 aaronpk although I don't need it for my current implementation
# 22:12 aaronpk because my micropub endpoint only accepts tokens generated by tokens.oauth.net
# 22:13 aaronpk if there is a case when a micropub endpoint would accept tokens from arbitrary token endpoints then it would be useful I think
# 22:14 kbs I was initially thinking this is what you had in mind all along - allow each endpoint to be written indpendently
# 22:14 kbs and for each endpoint to decide for itself which services it would choose to trust
# 22:16 kbs aaronpk: 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]
# 22:17 aaronpk in any case we're in kind of a chicken/egg situation if the micropub endpoint accepts > 1 token endpoint
# 22:17 aaronpk because 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.
# 22:18 aaronpk then after finding the keys, you could verify the signature of the token
# 22:18 kbs right - I think that would be the idea :)
# 22:19 aaronpk I will be trying to think of a case when a micropub endpoint wants to use tokens from somewhere else
# 22:19 kbs I think only djb might complain about having to decode before verification, because that exposes a larger surface for attacks
# 22:20 aaronpk now that I have the base case implemented I can probably get my head around more complex relationships now
# 22:21 kbs yea :) 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
# 22:24 kbs aaronpk++ 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...]
# 22:27 aaronpk GWG: there are now 3 indieweb sites using it, and 3 apps
# 22:27 aaronpk notenoughneon.com aaronparecki.com caseorganic.com
# 22:27 GWG aaronpk: What is the use case you are thinking?
# 22:28 kbs haha - you've hooked up your pushup counter to it? nice :)
# 22:28 aaronpk no I don't think there is a wiki page that actualy says all of this in a nice way
# 22:29 GWG aaronpk: So, what uses are you imagining?
brianloveswords joined the channel
# 22:36 GWG I just like to hear what people are imagining.
# 22:38 GWG I 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
# 22:40 kylewm does notenoughneon use micropub for ownyourgram only or for all post types?
# 22:41 aaronpk probably 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
brianloveswords joined the channel
# 23:15 emmak kylewm: i made a posting UI that uses the micropub endpoint
# 23:16 emmak so it is using micropub for all post types
# 23:18 kylewm ooooh, fancy. thank you for publishing your code btw, iām using python but reading your micropub.php helped anyway!
netweb, snarfed and KartikPrabhu joined the channel
snarfed joined the channel