provided second oauth handshake func