First time here? Check out the FAQ!

openid error: Server denied check_authentication

When I try to use Google or Yahoo openid sign in I get this error.

I initially thought that it might be lack of ssl in python, but it appears (from a discussion of that problem on OSQA) that would stop Yahoo from working as well (and it works OK).

I know this is probably too little information to diagnose the problem with, but if anyone can give me suggestions on how to diagnose the problem it would help a lot.

Edited to add. I get a similar response (as shown in the url when I return to my site) to what I get from the same providers when I try logging into with them.

I have debug = True, and the required authentication backend,

flickr gives a slightly different error: OpenID is invalid

Facebook gives the somewhat unhelp ful "There was some problem when connecting to Facebook..."

IN ALL cases I am able to login to the provider (if I am not already logged in there) and get directed back to my site.

The providers send back a response with res_id and a verified identity. The nonce matches the return to url,

Evgeny's avatar
updated 2010-11-10 11:56:32 -0500
graeme's avatar
asked 2010-11-08 01:19:33 -0500
edit flag offensive 0 remove flag close merge delete


The reason I've included the openid library is that at some point it was not installable via pip or easy_install because something was screwed up on the library distributor's site, however I have not edited the library itself to import from askbot.deps.openid so it may be importing from some other location and that could lead to bugs like this. I guess I'll either edit the library or remove it.
Evgeny's avatar Evgeny (2010-11-09 11:28:48 -0500) edit
Did you migrate everything? See what you have with python migrate --list. What confuses me is that you also have a problem with facebook, which has nothing to do with openid.
Evgeny's avatar Evgeny (2010-11-09 11:38:40 -0500) edit
You can also take a look into file log/askbot.log as you try to authenticate with Facebook - when you see that message there is an error logged.
Evgeny's avatar Evgeny (2010-11-09 13:10:14 -0500) edit
add a comment see more comments

1 Answer


Google can change your openid without a notice, what you can do is to sign in with some different method,then go to your profile and click "manage login methods", you'll get to the screen similar to the initial login screen, but there you can add/fix/remove your login methods.

If this does not work for you, then there must be some bug indeed or maybe something has changed on the google side (however I use google login all the time and it works for me).

edit: I'll test all the login methods shortly on the new installation and try to fix any issues, sorry for the troubles.

edit 2: I've tried all the current openid providers (note Facebook, Twitter and LinkedIn are using OAuth protocol, which is different form OpenID) and have following results

  • work as expected: google, yahoo, aol, livejournal, claimid, verisign
  • do not work: flickr (now part of yahoo), technorati, vidoop (acquired by other business)
  • unknown: wordpress, blogger - they require to create a blog and I did not want to.

I think I'll drop the login icons for those methods that patently do not work.

Evgeny's avatar
updated 2010-11-09 14:01:16 -0500, answered 2010-11-08 11:01:26 -0500
edit flag offensive 0 remove flag delete link


Not this as it affects all providers. I have edited the question to reflect this.
graeme's avatar graeme (2010-11-09 03:51:29 -0500) edit
I've made an update today (on pypi and github) where all imports of openid library are hardcoded into the copy inside `askbot/deps` directory. This should fix any potential library conflict issues. Can you give that a try?
Evgeny's avatar Evgeny (2010-11-09 14:52:49 -0500) edit
Yes, its fixed the openid problem. I am very impressed you figured out the cause from the limited information I had! Thank you! Does this error from the askbot log help with the Facebook problem: MSG: 'module' object has no attribute 'parse_qsl'
graeme's avatar graeme (2010-11-09 15:17:46 -0500) edit
oops, just checked the Python manual. This is because you have python 2.5 `urlparse.parse_qsl` is new in python 2.6 where the code was copied from `cgi.parse_qsl`. I've switched to using `cgi` module for now.
Evgeny's avatar Evgeny (2010-11-09 16:17:14 -0500) edit
add a comment see more comments