Beginning a slow project of updating the docs about the IndieAuth spec, today I started by updating a few pages on the wiki. Right now, most of the docs about IndieAuth (the spec), and how to use it, live across a variety of pages on the wiki, grouped together at https://indieweb.org/Category:IndieAuth.
My goal with the spec IndieAuth is to make it an extension of the OAuth 2.0 spec. It has always been based off of the OAuth 2.0 spec, but I've never written it up properly as an extension. It's always been just a series of how-to guides. Additionally, I had originally started by specifying all of the responses being form-encoded responses, whereas the OAuth 2.0 spec says all responses must be JSON format. I've been slowly converting my various apps that use IndieAuth to support both, based on the HTTP Accept header, although I haven't publicized this much yet.
Today's project was updating the existing IndieAuth documentation on the wiki to explicitly include the JSON versions as a valid response format.
Eventually I hope to write up IndieAuth as a formal extension to OAuth 2.0, in the same format that something like the Device Flow is an extension.
Sadly, Clef is shutting down in a couple months. If you haven't heard of it, it was a clever way to use your email and a mobile app to sign in to websites. I had integrated Clef logins to indieauth.com as one way to authenticate your email address. Since they are shutting down in June, I am proactively removing it from the website right now.
The other method for authenticating your email address is is to receive a verification code sent to your address, which I will of course continue to support.
While I was in the code, I figured it was about time to retire SMS authentication as well. While conceptually receiving a code via SMS or email are equivalent, in practice this is not true. SMS is actually a pretty insecure protocol, and it's possible (and not that expensive) to intercept SMS messages to all phones in a nearby area if you have the right hardware.
So as of today, SMS authentication is no longer an option for indieauth.com, and you will have to receive verification codes sent to your email instead of using the Clef app. I may bring back SMS support in indieauth.com as a second factor authentication in the future.
Here is my list of providers I use now.
Today I updated the documentation for indieauth.com to include a setup guide for using indieauth.com as your OpenID provider, and added more prominent links to the OpenID and PGP instructions in various places on the site.
The header bar and footer now include direct links to PGP and OpenID setup instructions. The main setup page also now links to the PGP setup page and includes an example of linking to your PGP key along with the other example providers.
I wrote a setup guide for configuring indieauth.com as an OpenID provider.
At this point, OpenID 1 is almost completely gone. There are only a few sites that still consume it, and most of the former major providers have all shut down. Quite a lot of people have migrated to using indieauth.com as their provider since it's one of the few remaining services online. Hopefully this new setup guide will make it even easier to find for people looking to migrate.
I just launched an update to p3k which adds an integrated authorization server. This means that now when I sign in to Micropub apps like Quill, it will redirect me to my own server where I can have more fine-grained control over the access I am granting the application.
My new authorization endpoint displays the scopes the application is requesting, and lets me modify the scope when granting the request. This means if an application I don't yet trust requests the ability to update or delete my posts, I can un-check those boxes but still allow it to create posts.
I also have the ability to have all posts from an application be added to a specific channel, rather than showing up in my main feed. I use the concept of "channels" to create different lists of posts depending on what kind of content the post has. For example, /photos contains all of my photo posts, and /travel contains travel plans, plane flight and train logs, and events that occur outside of Portland.
Now that I have a built-in authorization endpoint, I'm looking forward to adding more features to it, such as setting the default privacy of posts so I can allow an application to create posts that are only visible to me (or a specific audience) unless I make them public.
silo.pub supports "native" authentication now! #indieweb #micropub