I haven't done it, so I'd have to do research to be sure. I imagine it is the exact same process as direct payments and you just have to change a parameter to mark it as authorize instead of payment and then it returns a transactionID. You then store that transactionID as part of the order summary and on the admin back end you have a section to process the transaction which passes the transactionID and tells it to complete payment.
Most of the code is probably there if you know php you could look through it, but the necessary updates are directly in the code, not in any interface you could click through.