If you’re going to provide OAuth access to your non-web protocols (eg XOAUTH, OAUTHBEARER, etc to IMAP, SMTP, whatever) then you need to give me a way to convert an access token into a username. By design, the standard OAuth handshake yields a token at the end. Nothing more. You do not get any identity information, and you can’t assume anything because in a multi-user system (eg Google), you have no idea which account has been used.