When I briefly worked for RBS, every transaction I performed with online banking would generate me a code, for which I'd have to insert my card into a reader, enter my PIN and the code, and the reader would spit me back an auth code.
Bit of a pain in the arse if I want to use online banking and I've not brought my widget with me though.