Kirby is a mockup of a mobile app that can be used to sign GPG challenges. It is meant as a reference implementation of this type of app.
The end result is that you can sign in to any site that supports IndieAuth verification via GPG, without a pre-existing relationship with the site you're signing in to.
The end user experience after setup is as follows:
Enter your domain in an IndieAuth login prompt
A challenge code is presented on screen
Scan the code with your mobile app
You are signed in to the site
Ideally the user should not even have to know they are using GPG under the hood, it should Just Work™
Setup
Download the Kirby App
Generate a public/private key pair
Upon first launch of the app, it will prompt you to generate a public/private key pair within the app.
The app should store this securely on the device, such as in the Keychain in iOS. (Bonus points that in iOS 8, it will be possible to unlock keychain items with your thumbprint![1])
Export your public key
From within the app, you can export your public key by emailing it to yourself or copying it to the clipboard.
Link to your public key from your website
On your website, add a rel="pgpkey" tag pointing to the public key.
<link rel="pgpkey" href="/key.asc">
Signing In
Login prompt
When signing in to a site that supports GPG auth, you'll enter your domain name like you would as normal. The site will find your GPG public key you linked to.
Clicking the Kirby GPG button will present a Kirby Code challenge.
Scan the Kirby Code
Launching the Kirby app on your mobile device will open it directly to a camera interface. Point it at the code on your computer screen and it will scan the code.
The code is actually a JSON encoding of a challenge and a URL to submit the signature to.
After the server verifies the signature matches what it was expecting, it generates an authorization code and completes the signin.
Alternate Setup
Assuming you're ok with establishing a relationship with an authorization server, the setup flow could be streamlined to not require linking to your public key from your website.
Delegate to an authorization server
First you'll need to choose an authorization server and point to it from your website. For example, to delegate to indieauth.com, add a link tag like the following:
This tells clients trying to sign you in that they should direct your browser to indieauth.com to complete the sign-in process. See Choose your own authorization server for more details.
Sign in to your authorization server
Sign in to your authorization server using some existing mechanism. In the case of indieauth.com, you might sign in by using Github or SMS auth.
Scan the code to upload your public key
Click the "Connect Kirby App" button and the authorization server generates a barcode that you can scan from the app. The barcode encodes a secret one-time URL that the app can use to upload the public key.
From this point on, your authorization server holds on to the public key, and can use it to verify a challenge it generates when you want to sign in to a website.
Gowalla was a locationcheckinsilo that operated from 2007 to 2012. It is functionally similar to Foursquare but with a unique design aesthetic that won it loyal fans. It was acquired by Facebook[1] and unceremoniously euthanised soon after, despite their cheerful announcement:
We’re excited to announce that we’ll be making the journey to California to join Facebook.[2]
Come enjoy breakfast and talk about the Indie Web! Aaron Parecki is organizing breakfast for folks in town for Open Source Bridge. Come to TILT around 7:30-8, order food or coffee at the counter, and join us at one of the large tables! Those of us attending Open Source Bridge will walk to the venue for the 9:00am keynote afterwards.
personal site "scratch your own itch" doers, doing, selfdogfooding, demoing
Demos of what works on your site today - note: must be a demo on your primary personal website (NOT: a secondary site, demo deployment, other corp/school/org site, random github library - this is a challenge to get your stuff working on your public personal site - if you won't put it on yours, why should anyone else on theirs?)
Explanation of today (brainstorming sessions) vs tomorrow (hack sessions)
Intro to how Barcamp sessions are scheduled (write THREE THINGS on a notecard: 1. session name, 2. your name, 3. session #hashtag - used for tagging and etherpad.mozilla.org/indieweb-hashtag)
Session scheduling!
Camp leaders call *start your sesssions* at start time
Mon, June 23 bear.im Created page with "'''<dfn>[http://andyet.com/about &yet]</dfn>''' is different kind of consulting company because we make software for people first."
Thu, June 26 jonnybarnes.net Starting IPv6 article
IPv6 is version 6 of the Internet Protocol.
Why?
There are numerous improvements in IPv6. The most pressing reason to implement IPv6 however is the increased address space. IPv4 uses 32-bit numbers to address devices connected to the internet. This means there are roughly 4.3 billion different addresses. The way these addresses are assigned, broadly speaking, is a central organisation called the IANA (Internet Assingned Numbers Authority) assisgns blocks of addresses to each of the five RIR (Regional Internet Registries) who the in turn assign addresses to their respective ISPs. Whilst none of the RIRs have currently run out of addresses, the IANA have.
We've basically run out of IPv4 addresses. IPv6 however uses 128-bit numbers to address devices connected to the internet. Therefore running out of addresses is much less of a problem.
How
The software side of things should be relatively easy. For example, in nginx its as simple as adding a listen [::]:80 line in the server{} block.
Getting the server itself connectable over IPv6 can be a little more tricky.
Thu, June 26 c2.com Created page with "[[Ward Cunningham]] has been pushing content to the independent web for twenty years from c2.com. The site hosted the first ever wiki, http://c2.com/cgi/wiki I ask, what obliga..."
Ward Cunningham has been pushing content to the independent web for twenty years from c2.com.
I ask, what obligation do I have to the authors of the 36,000 articles there to keep the site up and keep the site editable? I could donate the content to, say, archive.net. That would be like taking a living thing then killing and stuffing it in the name of preservation. I can do better, I think.
My preservation solution is to federate the content. It is only through proliferation that things really last. Much of our genome, for example, is more stable than the earth's continents. That's something. The internet is speedy but life is tenacious.
Mon, June 23 bear.im Created page with "'''<dfn>[http://andyet.com/about &yet]</dfn>''' is different kind of consulting company who builds software for people first."
&yet is different kind of consulting company who builds software for people first.
Wed, June 25 tantek.com move Alex Noakes to East Apprentices since he was added by another Fcns.eu|Andrei Sambra and lacks his own domain, add subcounts for East
Wed, June 25 tantek.com move Happy Enchill to East Apprentices since he was added by another Fcns.eu|Andrei Sambra and lacks his own domain
Wed, June 25 tantek.com add Farther East Apprentices, sort Apprentices sections by same order as Creators
Wed, June 25 tantek.com /* Apprentices */ move bnvk's apprentice to Farther East Apprentices
Tue, June 24 tantek.com /* sponsor */ East: adding New York Times for breakfasts presuming same plan as last time, and Mozilla will sponsor Saturday dinner (so says I), make headings shorter/more fragfriendly
Tue, June 24 tantek.com /* East Sponsors */ pre-party being determined
Tue, June 24 tantek.com Get Your Flights and Hotel to its own section at bottom, add NY Hotels, Berlin section
Tue, June 24 tantek.com /* East Sponsors */ just confirmed with Jeremy re: coffee & breakfast
Tue, June 24 kartikprabhu.com /* Get Your Flights and Hotel */
Fri, June 20 colintedford.com /* Colin Tedford */ Started "IndieMark", "Current setup & practices", & "TODO" sections; shortened intro; more wiki links.
Mon, June 23 colintedford.com Expanded & divided "To Do". Added "Former setups". "Current": short domain.
Mon, June 23 colintedford.com IndieMark scores, Eventually products
Wed, June 25 tantek.com add descriptions to Working On and Itches
Wed, June 25 tantek.com add Logo section with explanation
Thu, June 26 tantek.com /* Itches */ braindump low priority Private Groups itch just to get it out of my head, and maybe someone else will find the brainstorming useful
Wed, June 25 tantek.com /* working on */ update to link to Falcon Working On and Itches sections, note Itches specifically with an id so I can refer to #Itches, note items to be reprioritized into Falcon working on / itches lists