The solution to fixing this is found in this comment on the TwitterCommenters home page. Under 'Design > Templates', open your 'JavaScript' template and look for the definition of the mtSignIn function. Then replace it with this definition and save/republish your blog:
function mtSignIn() {
var doc_url = document.URL;
doc_url = doc_url.replace(/#.+/, '');
var url = '<$mt:SignInLink$>';
if (is_preview) {
if ( document['comments_form'] ) {
var entry_id = document['comments_form'].entry_id.value;
url += '&entry_id=' + entry_id;
} else {
url += '&return_url=<$mt:BlogURL encode_url="1"$>';
}
} else {
if ( document['comments_form'] ) {
var entry_id = document['comments_form'].entry_id.value;
url += '&entry_id=' + entry_id;
}
url += '&return_url=' + encodeURIComponent(doc_url + '#commentform'); }
mtClearUser();
location.href = url;
}
var doc_url = document.URL;
doc_url = doc_url.replace(/#.+/, '');
var url = '<$mt:SignInLink$>';
if (is_preview) {
if ( document['comments_form'] ) {
var entry_id = document['comments_form'].entry_id.value;
url += '&entry_id=' + entry_id;
} else {
url += '&return_url=<$mt:BlogURL encode_url="1"$>';
}
} else {
if ( document['comments_form'] ) {
var entry_id = document['comments_form'].entry_id.value;
url += '&entry_id=' + entry_id;
}
url += '&return_url=' + encodeURIComponent(doc_url + '#commentform'); }
mtClearUser();
location.href = url;
}
The actual reason for the error is that the 'old' mtSignIn wasn't passing on the entry_id of the entry a visitor was trying to sign in from, and the TwitterCommenters plugin needed this info to be able to load the entry and get its permalink so it could redirect the visitor back to it after logging in at Twitter.
(I suspect this is because the plugin was probably developed for Melody, a fork of Movable Type, which probably has a different default mtSignIn function.)
Tweet
This comment was made using my Twitter authentication data!