Difference between revisions of "IndieWeb"

From Organic Design wiki
(Implementing IndieAuth)
m (Implementing IndieAuth)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
The [https://indieweb.org/principles IndieWeb] (short for "independent web") is a movement that aims at making the web more independent and decentralised again with a focus on people using their own sites instead of walled gardens. The idea is that by using open standards, sites can all be a part of the same unified social network regardless of what software they use - even static HTML sites can be a part of the IndieWeb.
+
The [https://indieweb.org/IndieWeb IndieWeb] (short for "independent web") is a movement that aims at making the web more independent and decentralised again with a focus on people using their own sites instead of walled gardens. The idea is that by using open standards, sites can all be a part of the same unified social network regardless of what software they use - even static HTML sites can be a part of the IndieWeb. The IndieWeb is a community of individual personal websites, connected by simple standards, based on the [https://indieweb.org/principles principles] of [https://indieweb.org/personal-domain owning your domain], using it as [https://indieweb.org/How_to_set_up_web_sign-in_on_your_own_domain your primary identity], to [https://indieweb.org/POSSE publish on your own site] (optionally syndicate elsewhere), and [https://indieweb.org/ownyourdata own your data].
  
 +
'''Your content is yours:''' When you post something on the web, it should belong to you, not a corporation. Too many companies have gone out of business and [https://indieweb.org/site-deaths lost all of their users’ data]. By joining the IndieWeb, your content stays yours and in your control.
 +
 +
'''You are better connected:''' Your articles and status messages can [https://indieweb.org/POSSE go to all services], not just one, allowing you to engage with everyone. Even replies and likes on other services can [https://indieweb.org/backfeed come back to your site] so they’re all in one place.
 +
 +
'''You are in control:''' You can post anything you want, in any format you want, with no one monitoring you. In addition, you share simple readable links such as example.com/ideas. These links are [https://indieweb.org/permalinks permanent] and will always work.
 +
 +
== Bidirectional referral ==
 
One important standard for the IndeWeb is to use bidirectional '''rel="me"''' links to prove that different sites are all referring to the same person. If one of the sites in the group is an IndieWeb authentication provider, then any sites that support [https://indieweb.org/IndieAuth IndieAuth] can find the authentication provider and log the user in to the site. The authentication provider could be one of the ''OAuth'' silos like Twitter or Github, or it could be one of your own sites.
 
One important standard for the IndeWeb is to use bidirectional '''rel="me"''' links to prove that different sites are all referring to the same person. If one of the sites in the group is an IndieWeb authentication provider, then any sites that support [https://indieweb.org/IndieAuth IndieAuth] can find the authentication provider and log the user in to the site. The authentication provider could be one of the ''OAuth'' silos like Twitter or Github, or it could be one of your own sites.
  
 
== Implementing IndieAuth ==
 
== Implementing IndieAuth ==
You can implement IndieAuth yourself very easily, for example using the [https://indieweb.org/selfauth SelfAuth] PHP library, and testing your site's IndieWeb auth capability [https://pin13.net/login/ here]. First link all the sites that represent ''you'' together with '''rel="me"''' links - these are just normal links from one site or profile page to another, but with the ''rel="me"'' attribute in the link element.
+
You can [https://indieweb.org/Web_sign-in implement IndieAuth] yourself very easily, for example using the [https://indieweb.org/selfauth SelfAuth] PHP library, and testing your site's IndieWeb auth capability at [https://indielogin.com/ indielogin.com]. First link all the sites that represent ''you'' together with '''rel="me"''' links - these are just normal links from one site or profile page to another, but with the ''rel="me"'' attribute in the link element.
  
 
Then in the site that you've chosen to be your IndieAuth provider, you can unpack the latest version of ''SelfAuth'' into the root of the domain for that site for example in a directory called ''auth'', and making sure that requests to that directory are routed to it's ''index.php'' file. I had to use a [[Nginx]] rewrite rule in the site's server block for this as follows:
 
Then in the site that you've chosen to be your IndieAuth provider, you can unpack the latest version of ''SelfAuth'' into the root of the domain for that site for example in a directory called ''auth'', and making sure that requests to that directory are routed to it's ''index.php'' file. I had to use a [[Nginx]] rewrite rule in the site's server block for this as follows:
Line 18: Line 25:
  
 
== See also ==
 
== See also ==
*[[Mastodon]]
+
*[[PGP]]
 
*[[ActivityPub]]
 
*[[ActivityPub]]
*[[Scuttlebutt]]
+
*[[XMPP]]
*[[Libre software]]
+
[[Category:Web3.0]]
*[[Open source]]
 

Latest revision as of 04:13, 15 May 2020

The IndieWeb (short for "independent web") is a movement that aims at making the web more independent and decentralised again with a focus on people using their own sites instead of walled gardens. The idea is that by using open standards, sites can all be a part of the same unified social network regardless of what software they use - even static HTML sites can be a part of the IndieWeb. The IndieWeb is a community of individual personal websites, connected by simple standards, based on the principles of owning your domain, using it as your primary identity, to publish on your own site (optionally syndicate elsewhere), and own your data.

Your content is yours: When you post something on the web, it should belong to you, not a corporation. Too many companies have gone out of business and lost all of their users’ data. By joining the IndieWeb, your content stays yours and in your control.

You are better connected: Your articles and status messages can go to all services, not just one, allowing you to engage with everyone. Even replies and likes on other services can come back to your site so they’re all in one place.

You are in control: You can post anything you want, in any format you want, with no one monitoring you. In addition, you share simple readable links such as example.com/ideas. These links are permanent and will always work.

Bidirectional referral

One important standard for the IndeWeb is to use bidirectional rel="me" links to prove that different sites are all referring to the same person. If one of the sites in the group is an IndieWeb authentication provider, then any sites that support IndieAuth can find the authentication provider and log the user in to the site. The authentication provider could be one of the OAuth silos like Twitter or Github, or it could be one of your own sites.

Implementing IndieAuth

You can implement IndieAuth yourself very easily, for example using the SelfAuth PHP library, and testing your site's IndieWeb auth capability at indielogin.com. First link all the sites that represent you together with rel="me" links - these are just normal links from one site or profile page to another, but with the rel="me" attribute in the link element.

Then in the site that you've chosen to be your IndieAuth provider, you can unpack the latest version of SelfAuth into the root of the domain for that site for example in a directory called auth, and making sure that requests to that directory are routed to it's index.php file. I had to use a Nginx rewrite rule in the site's server block for this as follows:

rewrite ^/auth/$ /auth/index.php last;


And then in the home page for the IndieAuth provider site, an invisible link in the HTML is required that links to the web location of SelfAuth library, in this case the auth directory, with a rel="authorization_endpoint" attribute so that IndieAuth consumers know what login URL to use.

<link rel="authorization_endpoint" href="https://organicdesign.nz/auth/" />

See also