コード例 #1
0
        public async Task <IActionResult> UpdatePassword(ChangePasswordRequest request)
        {
            //user identifier
            var userId = PlatformUtils.GetIdentityUserId(User);

            var user = AuthorizationLayer.GetUserById(userId);

            //Tento il signin ed ottengo l'utente se è completato
            var result = await AuthorizationLayer.SignIn(user.Username, request.OldPassword);

            //Se non ho utente, unauthorized
            if (result == null)
            {
                return(Unauthorized());
            }

            // recupero il profilo
            var validations = AuthorizationLayer.UpdateUserPassword(result, request.Password);

            //controllo risultato
            if (validations.Count > 0)
            {
                return(BadRequest(validations));
            }

            //Se è tutto ok, serializzo e restituisco
            return(Ok(new StringResponse {
                Value = request.Password
            }));
        }
コード例 #2
0
        public async Task <IActionResult> SignIn(SignInRequest request)
        {
            //Tento il signin ed ottengo l'utente se è completato
            var result = await AuthorizationLayer.SignIn(request.Username, request.Password);

            //Se non ho utente, unauthorized
            if (result == null)
            {
                return(Unauthorized());
            }

            //Se è tutto ok, serializzo il contratto
            return(Ok(
                       new SignInResponse
            {
                Shooter = ContractUtils.GenerateContract(result),
                Permissions = ContractUtils.GenerateContract(await AuthorizationLayer.GetUserPermissionById(result.Id))
            }));
        }