public async Task<ActionResult> Login(string userName, string password) { UserCredentialsModel user = null; try { var client = new OAuth2Client(new Uri(tokenEndPointURL), "mymonkeycap", "Nexusdata#1"); await Task.Run(() => { var requestResponse = client.RequestAccessTokenUserName(userName, password, "openid profile offline_access"); var claims = new[] { new Claim("access_token",requestResponse.AccessToken), new Claim("refresh_token", requestResponse.RefreshToken) }; var claimsIdentity = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); HttpContext.GetOwinContext().Authentication.SignIn(claimsIdentity); }); user = new UserCredentialsModel { Email = userName, IsLoggedIn = true }; } catch (Exception ex) { return Json(ex.Message, JsonRequestBehavior.AllowGet); } return Json(user, JsonRequestBehavior.AllowGet); }
public static string AllowAccess(string id) { string json = String.Empty; if (!string.IsNullOrEmpty(id)) { var page = new authenticate(); var userid = page.User.Identity.GetUserId(); //Decrypt values var _id = StringCipher.Decrypt(id.ToString(), keyEncryptQueryString); var arrValues = page.DecryptValues(_id); string clientid = arrValues[0]; string redirectUri = arrValues[1]; string state = arrValues[2]; var time = DateTime.UtcNow; byte[] timeByteArray = BitConverter.GetBytes(time.ToBinary()); var key = Guid.NewGuid(); byte[] keyByteArray = key.ToByteArray(); string token = Convert.ToBase64String(timeByteArray.Concat(keyByteArray).ToArray()); token = token.Replace("+", "").Replace("/", ""); var usersAppsAccessGranted = new UsersAppsAccessGranted { Userid = userid, ExternalAuthClientsID = clientid, AccessGranted = true, Key = key.ToString(), Token = token, CreatedOn = time }; var dbAction = new DbActions(); dbAction.AddUserAppsAccessGranted(usersAppsAccessGranted); var returnData = new { Token = token, RedirectUri = redirectUri, State = state }; json = JsonConvert.SerializeObject(returnData); } return json; }
public async Task<IHttpActionResult> ForgetPassword(ForgetPasswordModel model) { if (model.Email != null) { model.Email = EncryptDecryptHelper.Decrypt(model.Email); var user = await _userManager.FindByNameAsync(model.Email); if (user == null || !(await _userManager.IsEmailConfirmedAsync(user.Id))) { return Json(new { Success = false, Error = TeleConsult.Web.Const.NotificationMessage.ErrorWhenConfirmEmailForForgotPassword }); } // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link string code = await _userManager.GeneratePasswordResetTokenAsync(user.Id); var callbackUrl = this.Url.Link("Default", new { controller = "Account", action = "ResetPassword", userId = user.Id, code = code }); object transformWith = new { Name = Services.Users.GetUserById(user.Id).Name, ResetLink = callbackUrl }; List<Attachment> attachments = new List<Attachment>(); List<string> destinationEmails = new List<string>(); destinationEmails.Add(user.Email); await Services.Mail.SendMail("ResetPasswordEmailTemplate", destinationEmails, "Reset Password", transformWith, attachments); return Json(new { Success = true }); } else { return Json(new { Success = false, Error = "Email is null" }); } }
static void CreateMedicines(MyHealthContext context, int tenantId) { var data = new[] { new { Name="Tylenol", Dose = 100.0, Unit = InternationalUnit.Milligrams, TimeOfDay = TimeOfDay.Dinner }, new { Name="Tamiflu", Dose = 100.0, Unit = InternationalUnit.Milligrams, TimeOfDay = TimeOfDay.Breakfast }, new { Name="Advil", Dose = 0.5, Unit = InternationalUnit.Milliliters, TimeOfDay = TimeOfDay.Lunch }, new { Name="Cafergot", Dose = 100.0, Unit = InternationalUnit.Milligrams, TimeOfDay = TimeOfDay.Breakfast }, }; var medicines = new List<Medicine>(); var patients = context.Patients.Select(p => p.PatientId).ToList(); var globalIdx = 0; foreach (int patientId in patients) { foreach (var _ in Enumerable.Range(0, 4)) { var currentMedicineData = data[globalIdx]; var medicine = new Medicine { Name = currentMedicineData.Name, Dose = currentMedicineData.Dose, DoseUnit = currentMedicineData.Unit, PatientId = patientId, TimeOfDay = currentMedicineData.TimeOfDay, TenantId = tenantId }; medicines.Add(medicine); globalIdx++; globalIdx = globalIdx % data.Length; } context.Medicines.AddRange(medicines); } context.SaveChanges(); }
public IActionResult Authenticate() { var payload = new { Authenticated = User.IsSignedIn(), Username = User.GetUserName() }; return Json(payload); }
public async Task<ActionResult> DropQuiz(string courseId, Guid slideId, bool isLti) { var slide = courseManager.GetCourse(courseId).GetSlideById(slideId); if (slide is QuizSlide) { var userId = User.Identity.GetUserId(); if (userQuizzesRepo.GetQuizDropStates(courseId, userId, slideId).Count(b => b) < GetMaxDropCount(slide as QuizSlide) && !userQuizzesRepo.IsQuizScoredMaximum(courseId, userId, slideId)) { await userQuizzesRepo.DropQuiz(userId, slideId); await slideCheckingsRepo.RemoveAttempts(courseId, slideId, userId); await visitsRepo.UpdateScoreForVisit(courseId, slideId, userId); if (isLti) LtiUtils.SubmitScore(slide, userId); } } var model = new { courseId, slideId = slide.Id, isLti }; if (isLti) return RedirectToAction("LtiSlide", "Course", model); return RedirectToAction("SlideById", "Course", model); }
public async Task<ActionResult> ClearAnswers(string courseId, Guid slideId, bool isLti) { var slide = courseManager.GetCourse(courseId).GetSlideById(slideId); var userId = User.Identity.GetUserId(); await userQuizzesRepo.RemoveAnswers(userId, slideId); await visitsRepo.RemoveAttempts(slideId, userId); var model = new { courseId, slideId = slide.Id }; if (isLti) { LtiUtils.SubmitScore(slide, userId); return RedirectToAction("LtiSlide", "Course", model); } return RedirectToAction("SlideById", "Course", model); }