コード例 #1
0
        public async Task <IActionResult> UpdateCredentials(UpdateResourceOwnerCredentialsViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            // 1. Validate the view model.
            await TranslateUserEditView(DefaultLanguage);

            var authenticatedUser = await SetUser();

            ViewBag.IsUpdated = false;
            viewModel.Validate(ModelState);
            if (!ModelState.IsValid)
            {
                return(await GetEditView(authenticatedUser));
            }

            // 2. Create a new user if he doesn't exist or update the credentials.
            var resourceOwner = await _userActions.GetUser(authenticatedUser);

            var subject = authenticatedUser.GetSubject();
            await _userActions.UpdateCredentials(subject, viewModel.Password);

            ViewBag.IsUpdated = true;
            return(await GetEditView(authenticatedUser));
        }
コード例 #2
0
ファイル: UserController.cs プロジェクト: jjrdk/SimpleAuth
        public async Task <IActionResult> UpdateCredentials(
            UpdateResourceOwnerCredentialsViewModel viewModel,
            CancellationToken cancellationToken)
        {
            // 1. Validate the view model.
            var authenticatedUser = await SetUser().ConfigureAwait(false);

            ViewBag.IsUpdated = false;
            viewModel.Validate(ModelState);
            if (!ModelState.IsValid)
            {
                return(await GetEditView(authenticatedUser !, cancellationToken).ConfigureAwait(false));
            }

            // 2. CreateJwk a new user if he doesn't exist or update the credentials.
            //var resourceOwner = await _getUserOperation.Execute(authenticatedUser).ConfigureAwait(false);
            var subject = authenticatedUser.GetSubject();
            var updated = subject != null &&
                          await _resourceOwnerRepository.SetPassword(subject, viewModel.Password !, cancellationToken)
                          .ConfigureAwait(false);

            ViewBag.IsUpdated = updated;
            return(await GetEditView(authenticatedUser !, cancellationToken).ConfigureAwait(false));
        }