getJson () по умолчанию является асинхронным методом, поэтому на него нельзя положиться, не выполнив некоторые настройки.
Используйте функцию .ajax (), задав для асинхронного параметра значение false, а затем присвойте результат переменной, область действия которой находится в функции checkAuth ().
Примерно так:
function ceckAuth() {
var ret = false;
$.ajax({
url: '/users/checkauthjson',
dataType: 'json',
data: '',
async: false,
success: function(result) { ret = result.success; },
error: ...
});
return ret;
}