// GET: Register public ActionResult Register() { AmazonLambdaClient client = new AmazonLambdaClient("", "", RegionEndpoint.USEast1); InvokeRequest ir = new InvokeRequest { FunctionName = "RandomNumber", InvocationType = InvocationType.RequestResponse }; InvokeResponse response = client.Invoke(ir); var sr = new StreamReader(response.Payload); JsonReader reader = new JsonTextReader(sr); var serilizer = new JsonSerializer(); var op = serilizer.Deserialize(reader); ViewData["number"] = op; return(View()); }
// Delete post using Lambda function DeletePost private void delete_Click(object sender, RoutedEventArgs e) { // Clear any old message/error text this.message.Text = ""; error.SetValue(VisibilityProperty, Visibility.Visible); errorFlag.SetValue(VisibilityProperty, Visibility.Hidden); error.Text = ""; // DeletePost takes two args: access token and timestamp // access token is set when user is logged in; // timestamp and selected_user are set when user selects a post if (selected_name != signedin_user) { error.Text = "Not your post!"; return; } DeletePost post = new DeletePost() { AccessToken = accessToken, TimestampOfPost = timestamp }; string payload = GetJson(typeof(DeletePost), post); using (AmazonLambdaClient iClient = new AmazonLambdaClient()) { InvokeRequest iRequest = new InvokeRequest() { FunctionName = "DeletePost", Payload = payload }; var response = iClient.Invoke(iRequest); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { if (null != response && response.StatusCode == 200) { var sr = new StreamReader(response.Payload); string result = sr.ReadToEnd(); if (result.Contains("success")) { error.Text = "Post deleted"; // Show new list of posts PrintPosts(); // Clear timestamp and selected_user so we don't accidently cache them timestamp = ""; selected_name = ""; return; } else { if (result.Contains("failure")) { ProcessLogInFail(result); } else { error.Text = "Post could not be deleted"; } } } } } // Clear timestamp and selected_user so we don't accidently cache them timestamp = ""; selected_name = ""; }
// Finish re-setting password using Lambda function FinishChangingForgottenCognitoUserPassword private void updatePwd_Click(object sender, RoutedEventArgs e) { using (AmazonLambdaClient iClient = new AmazonLambdaClient()) { FinishForgottenPassword finish = new FinishForgottenPassword() { UserName = userName.Text, ConfirmationCode = newConfirmCode.Text, NewPassword = newPwd.Text }; string payload = GetJson(typeof(FinishForgottenPassword), finish); InvokeRequest iRequest = new InvokeRequest() { FunctionName = "FinishChangingForgottenCognitoUserPassword", Payload = payload }; var response = iClient.Invoke(iRequest); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { if (null != response && response.StatusCode == 200) { var sr = new StreamReader(response.Payload); string result = sr.ReadToEnd(); if (result.Contains("success")) { error.Text = "New password confirmed"; error.SetValue(VisibilityProperty, Visibility.Visible); errorFlag.SetValue(VisibilityProperty, Visibility.Hidden); MakeConfirmInvisible(); initiateNewUser.SetValue(VisibilityProperty, Visibility.Hidden); MakePostVisible(); newPwdLabel.SetValue(VisibilityProperty, Visibility.Hidden); newPwd.SetValue(VisibilityProperty, Visibility.Hidden); newPwdLabel.SetValue(VisibilityProperty, Visibility.Hidden); newConfirmCode.SetValue(VisibilityProperty, Visibility.Hidden); newConfirmLabel.SetValue(VisibilityProperty, Visibility.Hidden); updatePwd.SetValue(VisibilityProperty, Visibility.Hidden); messageLabel.SetValue(VisibilityProperty, Visibility.Hidden); message.SetValue(VisibilityProperty, Visibility.Hidden); postMessage.SetValue(VisibilityProperty, Visibility.Hidden); delete.SetValue(VisibilityProperty, Visibility.Hidden); addUser.SetValue(VisibilityProperty, Visibility.Hidden); forgotPwd.SetValue(VisibilityProperty, Visibility.Hidden); logIn.SetValue(VisibilityProperty, Visibility.Visible); logIn.Focus(); pin.Password = newPwd.Text; initiateNewUser.SetValue(VisibilityProperty, Visibility.Visible); return; } if (result.Contains("failure")) { ProcessLogInFail(result); } else { error.Text = "Update Password failed"; error.SetValue(VisibilityProperty, Visibility.Visible); errorFlag.SetValue(VisibilityProperty, Visibility.Visible); } } else { error.Text = "Update Password failed"; error.SetValue(VisibilityProperty, Visibility.Visible); errorFlag.SetValue(VisibilityProperty, Visibility.Visible); } } } }
// Sign in with Lambda function SignInCognitoUser private void logIn_Click(object sender, RoutedEventArgs e) { { StartCognitoLogin start = new StartCognitoLogin() { UserName = userName.Text, Password = pin.Password }; string payload = GetJson(typeof(StartCognitoLogin), start); using (AmazonLambdaClient iClient = new AmazonLambdaClient()) { error.SetValue(VisibilityProperty, Visibility.Hidden); errorFlag.SetValue(VisibilityProperty, Visibility.Hidden); InvokeRequest iRequest = new InvokeRequest() { FunctionName = "SignInCognitoUser", Payload = payload }; var response = iClient.Invoke(iRequest); if (response.HttpStatusCode == System.Net.HttpStatusCode.OK) { if (null != response && response.StatusCode == 200) { var sr = new StreamReader(response.Payload); string result = sr.ReadToEnd(); if (result.Contains("failure")) { ProcessLogInFail(result); return; } result = result.Replace("Content-Type", "contentType"); OutPut deserializedUser = new OutPut(); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(result)); DataContractJsonSerializer ser = new DataContractJsonSerializer(deserializedUser.GetType()); deserializedUser = ser.ReadObject(ms) as OutPut; string status = deserializedUser.statusCode; string contentType = deserializedUser.headers.contentType; Data data = deserializedUser.body.data; AuthenticationResult aR = data.AuthenticationResult; accessToken = aR.AccessToken; refreshToken = aR.RefreshToken; ms.Close(); //return deserializedUser; if (result.Contains("success")) { MakePostVisible(); MakeConfirmInvisible(); postMessage.Focus(); // Cache user name signedin_user = start.UserName; return; } else { error.Text = "Add User failed"; error.SetValue(VisibilityProperty, Visibility.Visible); errorFlag.SetValue(VisibilityProperty, Visibility.Visible); } } } } } }