Exemplo n.º 1
0
        internal async Task <HttpResponseMessage> UpdateUser(OktaUserModel oktaUser)
        {
            string url = _Config.Value.Okta_OrgUri + $"/api/v1/users/{HttpUtility.UrlEncode(oktaUser.profile.login)}";

            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Add("Authorization", "SSWS " + _Config.Value.Okta_APIToken);
            var postContent = new StringContent(JsonConvert.SerializeObject(oktaUser), Encoding.UTF8, "application/json");

            return(await client.PostAsync(url, postContent));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> EditProfile(string key)
        {
            string userName = User.Claims
                              .FirstOrDefault(x => x.Type == "preferred_username")
                              ?.Value.ToString();

            OktaHelper oktaHelper = new OktaHelper(_Config);
            var        result     = await oktaHelper.GetOktaUser(userName);

            if (result.IsSuccessStatusCode)
            {
                JObject       user     = oktaHelper.GetJsonObject(result);
                OktaUserModel oktaUser = user.ToObject <OktaUserModel>();

                oktaUser.Key           = key;
                oktaUser.profile.login = userName;
                return(View($"~/Views/Profile/EditProfile.cshtml", oktaUser));
            }
            return(View());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> EditProfile(OktaUserModel oktaUser)
        {
            if (ModelState.IsValid)
            {
                OktaHelper oktaHelper = new OktaHelper(_Config);
                var        result     = await oktaHelper.UpdateUser(oktaUser);

                if (result.IsSuccessStatusCode)
                {
                    //TempData["Message"] = "Profile is updated successfully.";
                    return(RedirectToAction("EditProfileMessage", "Profile", new { key = oktaUser.Key, status = "success" }));
                }
                else
                {
                    ModelState.AddModelError("Error", result.ReasonPhrase);
                    return(View($"~/Views/Profile/EditProfile.cshtml", oktaUser));
                }
            }
            else
            {
                ModelState.AddModelError("Error", "Sorry, we found some errors. Please review the form and make corrections.");
                return(View($"~/Views/Profile/EditProfile.cshtml", oktaUser));
            }
        }