I'm getting the following error when I attempt to log in using my OpenID provider:

Unable to log in with your OpenID provider:

no OpenID identifier was provided.

I run an old PHP OpenID script which I know hasn't changed recently.

Has Stack Overflow changed their implementation, and if so what are the new requirements, or to what version of OpenID does it adhere?

I'm looking at it from a few other angles - perhaps my webhost made some changes without notifying me of them, but I want to make sure it wasn't a change on SO's side as well.

  • Who's your provider? There were (are?) issues with Wordpress.
    – ChrisF Mod
    Feb 14, 2011 at 15:16
  • @ChrisF I am my own provider.
    – Pollyanna
    Feb 14, 2011 at 15:17
  • Of course - it's obvious now I re-read the question. Sorry.
    – ChrisF Mod
    Feb 14, 2011 at 15:23
  • @ChrisF No problem.
    – Pollyanna
    Feb 14, 2011 at 15:24
  • I'm suspicious of the "we have not changed anything for a while" SO response -- my PHP OpenID script stopped working around the same time, I filed a bug separately here Mar 9, 2011 at 21:51

2 Answers 2


Turns out my hosting provider changed something that modified PHP's header settings. Perhaps it was a regular php update with new security defaults, perhaps something else.

Regardless, the fix was to install a rewrite rule in .htaccess in the same directory as the phpmyid script:

RewriteEngine on
RewriteCond %{HTTP:Authorization} !^$
RewriteCond %{QUERY_STRING} openid.mode=authorize
RewriteCond %{QUERY_STRING} !auth=
RewriteRule (.*) %{REQUEST_URI}?%{QUERY_STRING}&auth=%{HTTP:Authorization} [L]

If you have command line access, the following commands will create the file for you:

echo 'RewriteEngine on' >> .htaccess
echo 'RewriteCond %{HTTP:Authorization} !^$' >> .htaccess
echo 'RewriteCond %{QUERY_STRING} openid.mode=authorize' >> .htaccess
echo 'RewriteCond %{QUERY_STRING} !auth=' >> .htaccess
echo 'RewriteCond %{REQUEST_METHOD} =GET' >> .htaccess
echo 'RewriteRule (.*) %{REQUEST_URI}?%{QUERY_STRING}&auth=%{HTTP:Authorization} [L]' >> .htaccess

I found my answer here, http://mikewest.org/2007/01/setting-up-an-openid-server-with-phpmyid , as it turns out that the error I was getting was actually "Missing expected authorization header."


No, we have not changed anything for a while on that.

Also, you can use your alternative google profile URL to log in as well, which seems to be attached to your accounts, at least the ones I saw.

  • Ok, thanks. I keep the google profile around in case something like this happens, but all signs seem to point toward a problem with my webhost.
    – Pollyanna
    Feb 14, 2011 at 20:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .