Login not verified 500 Internal Server Error

Hi All,

I did a fresh install of stable branch of kobo on a server. Installation went smooth, but when i login user profile shows N/A and i am unable to create a project. The /me error says “login not verified 500 Internal Server Error”. I tried adding a separate user but still the same issue. Request your help on this at the earliest.

Hi @pm2020,

Would you mind having a look at the post that has a discussion similar to the issue you have experienced. It should be helpful at your end:

Have a great day!

1 Like

I don’t think this post is related (and doesn’t really seem to have a resolution?). I’m also not sure why it seems to assume that HTTP 500 would be related to SMTP settings.

The best similar report is Problem to create projet after installation and I’m facing the exact same symptoms after a fresh install (HTTP 500 on /me + cannot create project).

Any hints?

OK, I have been facing the exact same situation, which turned out to be caused by my external URLs not being reachable from the containers (because my DNS were not yet up).

Specifically, when enabling debug logs, this call was failing with a DNS lookup error (from kpi/kpi/deployment_backends/kc_access/utils.py):

def _trigger_kc_profile_creation(user):
"""
Get the user's profile via the KC API, causing KC to create a KC
UserProfile if none exists already
"""
url = settings.KOBOCAT_URL + '/api/v1/user'
token, _ = Token.objects.get_or_create(user=user)
response = requests.get(
    url, headers={'Authorization': 'Token ' + token.key})
if not response.status_code == 200:
    raise KobocatProfileException(
        'Bad HTTP status code `{}` when retrieving KoBoCAT user profile'
        ' for `{}`.'.format(response.status_code, user.username))
return response

I’m not sure why in this case kpi seems to be trying to call kobocat using the external URL, but that was the issue…

The solution in my case was:

  • Either to make sure external URLs were up
  • As a workaround in dev, I’ve added a DNS resolution in the containers to resove the external domain to localhost. But this will only work if the scheme is the same (http/https) between internal and external urls
1 Like