public async Task <OAuthCompleteInformation> Authorize(Func <string, Task <string> > extractVerifier) { var res = await RequestToken(); if ((res == null) || (!TokenIsPartialOrValid)) { return(null); } var url = GetAuthorizeUrl(); var verifier = await extractVerifier(url); return(_CompleteInformation = await Access(verifier)); }
private async Task <OAuthCompleteInformation> RequestToken() { if (_CompleteInformation != null) { return(_CompleteInformation); } if (_TokenInformation?.PartialOrValid == true) { return(null); } var requestTokenClient = GetRequestTokenClient(RequestUrl); _TokenInformation = await GetTokenInformationFromRequest(requestTokenClient, _RequestTokenUrl); if (!TokenIsValid) { return(null); } return(_CompleteInformation = new OAuthCompleteInformation(_ConsumerInformation, _TokenInformation)); }