parent
e284894d40
commit
034bd4e6d1
@ -0,0 +1,27 @@ |
||||
use std::io::{self, BufRead, Write}; |
||||
|
||||
use errors::Result; |
||||
use http_send::HttpSend; |
||||
use registration::Registered; |
||||
use Mastodon; |
||||
|
||||
/// Finishes the authentication process for the given `Registered` object,
|
||||
/// using the command-line
|
||||
pub fn authenticate<H: HttpSend>(registration: Registered<H>) -> Result<Mastodon<H>> { |
||||
let url = registration.authorize_url()?; |
||||
|
||||
let stdout = io::stdout(); |
||||
let stdin = io::stdin(); |
||||
|
||||
let mut stdout = stdout.lock(); |
||||
let mut stdin = stdin.lock(); |
||||
|
||||
writeln!(&mut stdout, "Click this link to authorize: {}", url)?; |
||||
write!(&mut stdout, "Paste the returned authorization code: ")?; |
||||
stdout.flush()?; |
||||
|
||||
let mut input = String::new(); |
||||
stdin.read_line(&mut input)?; |
||||
let code = input.trim(); |
||||
Ok(registration.complete(code)?) |
||||
} |
Loading…
Reference in new issue