pub fn finish(
sign_in: SignIn,
client_id: &str,
address: &str,
stop: &AtomicBool,
) -> Result<Grant, SyncError>Expand description
Waits for Microsoft’s answer (five minutes at most, or until stop),
trades its code for tokens at once (a code lasts about a minute), reads
who signed in and whether the account is a personal or a work one, and
keeps the grant in the keyring under address. The access token is kept
in memory. Who signed in is not checked against the address here: an
alias, a shared mailbox, a phone number’s sign-in differ; the mail
server’s own login decides (the window’s outlook.rs).