Google authentenicator support seems to be a solved problem, the package is there. I think the whole feature can be added in a couple of hours