public IHttpActionResult FacebookAdd([FromBody] OAuthFacebookLoginPost dataPost) { ValidateOAuth3rdAddRequest(OAuthService.Facebook, dataPost); var facebookClient = OAuth3rdClient <FacebookClient>(dataPost); OAuthCredential facebookCredential; try { facebookClient.ExchangeCodeForToken(dataPost.Code); facebookCredential = new OAuthCredential { OAuthProvider = OAuthService.Facebook, Uid = facebookClient.UserID, Token = facebookClient.Token.Key, IsInvalid = false, User = CurrentUser }; } catch (OAuthUnexpectedResponse ex) { throw new HttpNotFoundException( "105 " + ControllerStrings.Warning105_SocialTokenNotFound, ex ); } Database.OAuthCredentialStore.Add(facebookCredential); Database.SaveChanges(); return(Ok()); }
public HttpResponseMessage FacebookLogin([FromBody] OAuthFacebookLoginPost dataPost) { ValidateOAuth3rdLoginRequest(OAuthService.Facebook, dataPost); var facebookClient = OAuth3rdClient <FacebookClient>(dataPost); string facebookUserID; try { facebookClient.ExchangeCodeForToken(dataPost.Code); facebookUserID = facebookClient.UserID; } catch (OAuthUnexpectedResponse ex) { OAuth.Token.LoginAttempts++; Database.TokenStore.Update(OAuth.Token); Database.SaveChanges(); throw new HttpBadRequestException( "105 " + ControllerStrings.Warning105_SocialTokenNotFound, ex ); } OAuth3rdCredential.Token = facebookClient.Token.Key; Database.OAuthCredentialStore.Update(OAuth3rdCredential); return(ExchangeOAuthAccessToken()); }