KartikPrabhu, interactivist, KevinMarks_, Guest____ and G________ joined the channel
#tantekGood afternoon #indiewebcamp - I'm deep in the depths of writing a blog post about web standards and security, but thought I'd check in here to see what's new for the past few days.
#tantek!tell elf-pavlik I'll check #social messages before the telcon. When did you become Henry's secretary? And perhaps you can encourage him to write his opinions as blog posts on his own personal site. I'm still preferring to focus on fixing microformats examples in AS.
#tantekwow - that's the first time I've heard of an app being built depending on that
#pwccGWG: haven't thought about IWFP it a great deal more than the issues I've already popped in. Will go through my "one click" post and turn it into an issue dump.
#tantekmakes me wonder if we should expose the availability of that feature as a navigator.() DOM query
#KevinMarkswell, I was goign to use local storage but I found it tended to persist
#ben_thatmustbemeeven though it is written with cordova, written in js/css/html
#tantekthe save while offline is *really* important, not just for *offline* directly, but as a method of achieving asynchronicity with network availability.
#tantekas in - nothing in the UI should make me *wait* for the network. the posting progress of any post in particular should be an FYI / progressive bar like thing I can view, but doesn't block me from further edits / posts etc.
#tantekand yes ben_thatmustbeme, it's important to me to figure out how to do this purely with web platform pieces, HTML, WebAPIs etc.
#ben_thatmustbemeyes, exactly, it wouldn't take much to get it to the point of auto-submitting once it is online again
#ben_thatmustbemeright now it works for posts, I hit 'save' instead of 'post' when offline
#ben_thatmustbemethen when online i can have it submit all posts that i made while offline
#tantekmy point is that there should be no difference in your experience
#tanteksnarfed: in the case where all you're trying to do is make an h-card with an name, URL, and photo, you can use the very simple h-card with just root class name
#Loqi[mention] posted 'My has kept me quite busy and this leads to me often catching up on how things in various communities I lurk/inhabit after I’ve been...' linking to https://indiewebcamp.com (/bearlog/2015/069/static-site-hybrid)
elf-pavlik, cweiske, friedcell, LauraJ, Jihaisse, KartikPrabhu, krendil, nloadholtes, michielbdejong and sanduhrs joined the channel
#cweiskehm. login on https://ben.thatmustbe.me/ does not work with indiecert; I get "No Auth Endpoint Found" - but that could be the cacert.org certificate
#cweiskeben_thatmustbeme, does your website accept certificates from cacert.org?
#cweiskeand strangely, login on https://waterpigs.co.uk/ works with http (without indiecert), but for https urls I get redirected to indieauth.com
#cweiske!tell barnabywalters and strangely, login on https://waterpigs.co.uk/ works with http (without indiecert), but for https urls I get redirected to indieauth.com
#fkoomanben_thatmustbeme: i don't see any request coming to indiecert.com/auth to verify the code...
#ben_thatmustbemefkooman, if your cert in from cacert.org and it isn't in the root certs on the machine, I won't succeed at curling your site, and thus won't ever be able to find your auth endpoint
#fkoomanben_thatmustbeme: it is not, i have trusted certs everywhere :)
#fkoomanben_thatmustbeme: you use the 'state' parameter, so you have to keep state in your application as well, you can store the 'me' parameter there as well :)
#fkoomanif you want to shoot yourself in the foot you can :)
#cweiskeas a rogue indieauth server (which the user has to link from his website), you could use the changed "me" parameter to give do actually nothing.
#cweiskethe client will verify that "me" and the code actually match
#fkoomanyou can change it to your own webpage with a different indieauth server and send back any 'me' parameter
#john.onolan.orgedited /Ghost () "(-542) Removing complete crap. ghost.onolan.org was the first production Ghost blog in the entire world - it literally wasn't possible to "selfdogfood" anything before that site existed. This entire thing is incredibly poorly researched." (view diff)
#ben_thatmustbemebtw, i don't store state, state is a verification value for me. I don't store it
Gu_______ joined the channel
#ben_thatmustbemetrying to read back the log, kfeeman, whats the problem with it changing to attacker.com? i'll say, lets say they even happen to send a valid state param (I don't store it)
#ben_thatmustbemei don't really care, they will have just logged in as attacker.com, if their auth provider agrees that the key is valid
#cweiskecacert is a kind of special thing in my eyes
#ben_thatmustbemefkooman, actually, not storing anything prior to the callback I think is better. If someone wants to use their own site to log directly in, all they have to do is generate a token for themselves (assuming they are their own auth provider)
#ben_thatmustbemewell i'll have something to show off, don't know how nice it will be, but I'll have some interesting strange things i have been messing with to show off for sure
#ben_thatmustbemebecause i require the me value on callback, the request can come from anywhere, i don't care
#ben_thatmustbemebut the key they provide has to be valid for the auth provider listed on the me they provide
#ben_thatmustbemenow, if the auth provider a person is using isn't secure, thats not my problem
#fkoomanah okay, so you accept unsollicited authentication requests from anywhere on the web
#ben_thatmustbemeyeah, i don't care, all i do is curl the me val they gave me, get their auth provider, and confirm that the code they gave me works. that allows them to script authenticating with me, which i think would be pretty important once we get in to any sort of private messaging
#fkoomanso the CSRF attack you are vulnerable to is the one where you trick a user to login to a service using your own account, exposing the user to leaking private data
#ben_thatmustbemeso you are saying they login to some hacker site, and that site uses the auth token to immediately log in to me as well?
#ben_thatmustbemecan you explain it a little clearer so i understand
#fkoomanwe both use 'legitimate' service X, i create a new account and use the code i obtain to redirect you to the service callback, and thus you'll be logged in as me :)
#fkoomanso if this is a diary service where you store your deepest secrets you'll all of a sudden store them in my account :)
#ben_thatmustbemethis is also very simple to do by giving a link with the auth token in the URL, i believe aaronpk and I had set that up at one point to get autologin working to pull private messages
#fkoomanif at least you are aware of this CSRF attack I'm happy :)
#ben_thatmustbemeno, thank you, i'm usually pretty security minded, but this is an intersting case of giving away access rather then trying to gain in
#Loqiben_thatmustbeme meant to say: no, thank you, i'm usually pretty security minded, but this is an intersting case of giving away access rather then trying to gain it
#ben_thatmustbemeits just a matter of storing a randomized me/code at first login attempt and then validate them later
#ben_thatmustbemeand probably best to remove the available post values, I'm pretty sure they can't set the headers, so that part is fine
#ben_thatmustbemei know we had set that up at one point, but I can't remember why
#ben_thatmustbemei think aaronpk and I were trying to create a system that specifically did not require interactive login, so our sites could connect and validate without user intervention
#jcapis there a philadelphia indiewebcamp chapter? aaronpk?
#jcapI searched around but didn't come up with anything
#fkoomanben_thatmustbeme: oh, and also Bearer tokens through apahce header rewrite yes
KartikPrabhu joined the channel
#kylewmfkooman: I took a stab at defining CSRF on the wiki, would you mind confirming I didn't say anything too dumb on here? https://indiewebcamp.com/CSRF
#tantekwow lots of auth conversation. I'm just going to assume cweiske and fkooman and ben_thatmustbeme know what they're talking about and read the results of their subsequent wiki edits.
#tantekand hey look at that - a big /Ghost update from the founder himself! hopefully that's a good sign that Ghost might start supporting / deploying indieweb support!
#tantekhmm - I don't know about the deletion of the history and issues
#tantekprobably worth still keeping them since they did happen
#tantekanyone here in touch with John O'Nolan? bret?
#fkoomankylewm: but the link to the OAuth spec is very clear I think... maybe that should be copy/pasted instead :)
#breti read their priorities are interoperating with the major social networks, and not focusing on indieweb or other distributed strategies
#fkoomankylewm: the OAuth spec says MUST, why do you make it SHOULD? :)
#kylewmfkooman: I was hoping to have a quick blurb that explains it in the context of IndieAuth since it is not clear in the IndieAuth spec yet that the state param is needed
#kylewmno point in copy pasting the spec, we can remove the parts that are unclear in my definition and just link to it
#aaronpkIf anything is MUST in OAuth 2, we should have it be MUST for IndieAuth too since IndieAuth is mostly a subset of OAuth 2.0 plus identity
#Loqiaaronpk: kylewm left you a message 1 day ago: the "prev" link on https://indiewebcamp.com/irc/2015-03-09 goes back two days to 2015-03-07... daylight savings time edge case? :)
#aaronpkkylewm: lol probably. I think I find "previous day" by doing -86400 which of course there are fewer seconds in a day on DST change
#KartikPrabhuaaronpk: since IndieAuth is a subset (not superset) it need not adopt any MUSTS of OAuth2
modem joined the channel
#kylewmJohn O'Nolan's wiki edits seem to have been made in anger :(
#tantekok we should revert the page to the last version before his edits, and then apply updates according to citable facts, e.g. john.onolan.org is running ghost
#aaronpkFeel free to revert the Wikipedia import and also update the section that says his site wasn't running ghost
#kylewmaaronpk: tantek: that's why I was a little surprised he was angry about the current state of the page, because i thought it accurately reflected the history and current state of things...
#bretbut first, need to to get a job for bills and stuff
#kylewmI'm not totally sure how to retain the information that was captured at the time... like it's interesting that barnaby opened a microformats pull request, and it's nice to have a link to it
#kylewmwithout the page being like "THEY REJECTED MICROFORMATS!"
#bretGWG: we had a core WP contributor at HWC a while back. he was enthusiastic about the idea but again, monoculture projects are pretty adverse to any idea not as large as themselves
#Loqislack/kylewm: the most upvoted question on that timbl AMA is a two parter, and one part is "What are your views/thoughts/feelings on the modern internet?"
#Loqislack/kylewm: way to ask a specific question dude
iandevlin joined the channel
#aaronpkfkooman: indieauth.com returning a token instead of code is legacy because existing implementations rely on it
#aaronpkif you pass a client_id you'll get back a code
#fkoomanaaronpk: yeah, i found that out :-) i'll add client_id, and which parameters are required when verifying? and the accept header has no effect ;)
#aaronpkhey it's only been a day, give me some time to add it ;)
#Loqielf-pavlik: tantek left you a message on 3/9 at 5:53pm: I'll check #social messages before the telcon. When did you become Henry's secretary? And perhaps you can encourage him to write his opinions as blog posts on his own personal site. I'm still preferring to focus on fixing microformats examples in AS.
#LoqiWebFinger is a discovery protocol for the web that uses email address-like identifiers to get info about users; it has been largely superseded on the indieweb by the use of personal web sites and representative h-card https://indiewebcamp.com/WebFinger
#bretelf-pavlik: i have nothing against json-ld, other than i've seen few REAL examples of its use in a social context, and find it generally harder to comprehend and use
#Loqisharecropping in the context of the IndieWeb is the practice of primarily or exclusively creating/publishing content on silos as opposed to doing so first (or primarily) on your own site, and those that do publish primarily or exclusively on silos are known as sharecroppers https://indiewebcamp.com/sharecrop
#bretAS is used widely in pump and activity-streams-unofficial, so I can SEE the use
#tantekat least RSS has thousands (millions?) of feed URLs out there across numerous different codebases producing it (though a huge proportion is likely versions of wordpress)
#snarfeddeja vu, i've talked about this a bit before re AS and a-u
#tantekkylewm: right. and my site publishes AS 1.0 / Atom/XML (not JSON)
#tantekbut what version does pumpio support? anyone?
#snarfedre a-u, short answer is, i'm not strongly attached to AS specifically. when i started the project (beginning of 2012), i just wanted *some* common social data format, and AS seemed the most appropriate
#snarfedright now most a-u users are either 1) indieweb or 2) academics/hobbyists who feel the same way, ie they want something common but don't care much what
#tantekyeah AS eventually become more talk than code by even the creators/authors of it, who I think were tired of continuing to switch backend syntaxes from Atom, to JSON, to JSON-LD etc.
#tantekfeels like a bunch of format-fashion-farting around
#tantekwe'll see if any implementation bothers with switching to JSON-LD - since no user-level advantages have been demonstrated