public static IEnumerator SignInWithEmailAndPassword(string email, string password, Action <string, string> onSignIn) { var request = new SignInWithEmailAndPasswordRequest { email = email, password = password, }; string payload = JsonConvert.SerializeObject(request); using (var www = PostRequest(SignInURL, payload)) { yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { var errorResponse = JsonConvert.DeserializeObject <ErrorResponse>(www.downloadHandler.text); Debug.LogFormat("Error: {0} Code: {1}", errorResponse.error.message, errorResponse.error.code); } else { var signInResponse = JsonConvert.DeserializeObject <SignInWithEmailAndPasswordResponse>(www.downloadHandler.text); onSignIn(signInResponse.refreshToken, signInResponse.idToken); } } }
public async Task <ResultWrapper <LoginOutput> > Handle(LoginCommand request, CancellationToken cancellationToken) { ResultWrapper <LoginOutput> loginResult = new ResultWrapper <LoginOutput>(); SignInWithEmailAndPasswordRequest singInReq = new SignInWithEmailAndPasswordRequest() { email = request.Username, password = request.Password, returnSecureToken = true }; ResultWrapper <SignInWithEmailAndPasswordResponse> signInResult = await _fireBaseTool.SignInWithEmailAndPassword(singInReq); if (!signInResult.Status) { loginResult.Status = false; loginResult.Message = signInResult.Message; return(loginResult); } loginResult.Status = true; loginResult.Result = new LoginOutput() { Token = signInResult.Result.idToken, RefreshToken = signInResult.Result.refreshToken }; return(loginResult); }
public async Task <ResultWrapper <SignInWithEmailAndPasswordResponse> > SignInWithEmailAndPassword(SignInWithEmailAndPasswordRequest request) { ResultWrapper <SignInWithEmailAndPasswordResponse> result = new ResultWrapper <SignInWithEmailAndPasswordResponse>() { Result = new SignInWithEmailAndPasswordResponse() }; HttpContent content = new StringContent(JsonConvert.SerializeObject(request), System.Text.Encoding.UTF8, "application/json");; string action = SignInWithPassword_URL.Replace("API_KEY", _appSettings.FireBase.ApiKey); HttpResponseMessage response = await _httpClient.PostAsync(BASE_URL + action, content); string strResponse = await response.Content.ReadAsStringAsync(); result.Result = JsonConvert.DeserializeObject <SignInWithEmailAndPasswordResponse>(strResponse); result.Status = !string.IsNullOrEmpty(result.Result.idToken); if (!result.Status) { result.Message = "Username or Password is invalid"; } return(result); }