Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Thunderbird keeps asking for address book password

  • 3 replies
  • 1 has this problem
  • 2 views
  • Last reply by sh32my

more options

Thunderbird keeps asking for address book password everytime I open thunderbird. I have selected to "save password in password manager" but it won't save it. It works after I enter it, properly syncs my address book, but it's frustrating when to have to copy from my lastpass every time I open it.

I have looked in preferences in saved passwords and it is not there. My imap, smtp and caldav logins are there, but no carddav password. Nothing else asks for password, just carddav.

Using: - Windows 10 Pro 21H1 - Thunderbird 91.11.0 x64 - CardDAV server is hosted by zoho (https://contacts.zoho.com)

Thunderbird keeps asking for address book password everytime I open thunderbird. I have selected to "save password in password manager" but it won't save it. It works after I enter it, properly syncs my address book, but it's frustrating when to have to copy from my lastpass every time I open it. I have looked in preferences in saved passwords and it is not there. My imap, smtp and caldav logins are there, but no carddav password. Nothing else asks for password, just carddav. Using: - Windows 10 Pro 21H1 - Thunderbird 91.11.0 x64 - CardDAV server is hosted by zoho (https://contacts.zoho.com)

Chosen solution

I ended up doing the following:

  1. checked the network requests, they were 207 status, couldn't see WWW-Authenticate: Basic in any of the response headers
  2. copied the request endpoint (which was "https://contacts.zoho.com/carddav/me@michaeledwards.me/default/contacts/")
  3. set a breakpoint in LoginManager.jsm at the first line of _checkLogin function
  4. added carddav account through Thunderbird
  5. when execution paused, I check login.httpRealm, it was set to ""
  6. in console I typed: login.httpRealm="https://contacts.zoho.com/carddav/me@michaeledwards.me/default/contacts/"
  7. continued execution, and didn't receive an error
  8. checked saved passwords and it was there
  9. opened a number of times and it appears to be syncing without asking for password
Read this answer in context 👍 0

All Replies (4)

more options

See attached for what happens in the error console when I login.

more options

Developer suggests...

"looks like their server sends a (probably 401) response with weird headers. Use the devtools network panel and copy the headers. I can see how that might happen with the header WWW-Authenticate: Basic realm="" "

more options

Stepping through the network requests there was 3.

Entering the username and location on the add carddav account then:

1st request went to https://contacts.zoho.com and gave a 207, but inspecting the response payload gave a 404 and an alternate URL.

Gave password then:

2nd request went to https://contacts.zoho.com/carddav/me@michaeledwards.me/default/contacts/, again with a 207 and the response payload appeared to return the carddav address book names.

Asked me to choose address book then:

3rd request went to https://contacts.zoho.com/carddav/me@michaeledwards.me/default/contacts/, again with a 207 status and the response payload was the address book data.

My fix:

I just put a breakpoint in the LoginManager.jsm file at the start of the _checkLogin function. When it stop, I added "https://contacts.zoho.com/carddav/me@michaeledwards.me/default/contacts/" to login.httpRealm manually and then continued execution.

That seemed to add the password to my password list and appears to sync successfully without asking.

Modified by sh32my

more options

Chosen Solution

I ended up doing the following:

  1. checked the network requests, they were 207 status, couldn't see WWW-Authenticate: Basic in any of the response headers
  2. copied the request endpoint (which was "https://contacts.zoho.com/carddav/me@michaeledwards.me/default/contacts/")
  3. set a breakpoint in LoginManager.jsm at the first line of _checkLogin function
  4. added carddav account through Thunderbird
  5. when execution paused, I check login.httpRealm, it was set to ""
  6. in console I typed: login.httpRealm="https://contacts.zoho.com/carddav/me@michaeledwards.me/default/contacts/"
  7. continued execution, and didn't receive an error
  8. checked saved passwords and it was there
  9. opened a number of times and it appears to be syncing without asking for password