How to set up OpenID on your own domain

From IndieWeb

Different methods to set up OpenID on your own domain.

Delegate to external authenticator

Delegating to indieauth.com

⚠️ The indieauth.com service is deprecated, so you may not want to use this. Read more on the indieauth.com page

See OpenID#Setup

Delegating your domain to stackexchange

You can use your stackexchange account as an authentication mean for your own website. To set this up, add the following markup into your page's head section:

  <!-- OpenID-2.0 delegated to stackexchange -->
  <link rel="openid2.provider" href="https://openid.stackexchange.com/openid/provider" />
  <link rel="openid2.local_id" href="https://openid.stackexchange.com/user/xxx-xxx-xxx-xxx-xxx" />

Replacing xxx-xxx-xxx-xxx-xxx with whatever url corresponds to your user (log in into openid.stackexchange.com and select 'Use your own URL to log in' to find it out).

Delegating your domain to openid.org.cn

  <!-- OpenID-2.0 delegated to openid.org.cn -->
  <link rel="openid2.provider openid.server" href="http://openid.org.cn/server" />
  <link rel="openid2.local_id openid.delegate" href="http://xxx.openid.org.cn/" />

Replace xxx with your account name at openid.org.cn

Install authenticator on your own server

This is the most secure setup as you'll be in control of the way you authenticate.

SimpleID

One option is to install SimpleID on your server. It is a simple OpenID provider implemented in PHP, also packaged for popular free software distribution.

GNU social

Another option is installing a GNU social node, which comes with an OpenID provider, and use that.

Wordpress

Wordpress can behave as an OpenID provider with this plugin: https://wordpress.org/plugins/openid/

Other options

You can read about some other options here:

http://www.intertwingly.net/blog/2007/01/03/OpenID-for-non-SuperUsers

openid.net has further information for developers: http://openid.net/developers/

Troubleshooting

If even after setting up OpenID or delegation, signing-in doesn't appear to work:

  • If you're running WordPress - see if you have the WP-SuperCache plugin and delete the cache or turn off caching.
  • Verify that when you load your site in your browser, you can view source and see the OpenID delegation <link> (and <meta>) tags.
  • Be sure that you've changed "username" in those tags to your own specific username on the OpenID service.

History

In early indieweb days, a strong point was made of eating what you cook to filter out unproductive conversation. At the time, setting up OpenID on your own domain was a key component of that.

You must be this independent in order to contribute:

  1. you must have your own domain, and
  2. have figured out how to set-up OpenID on it.

Here are a couple of options for #2.

  • Easy: delegate your domain to another OpenID provider like myOpenID
  • Harder: setup your server to be an OpenID provider

See Also