code: func (h *Handler) changePassword(w http.ResponseWriter, r *http.Request, p httprouter.Params, ctx *SessionContext) (interface{}, error) {
  	var req *changePasswordReq
  	if err := httplib.ReadJSON(r, &req); err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	clt, err := ctx.GetClient()
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	servicedReq := services.ChangePasswordReq{
  		User:              ctx.GetUser(),
  		OldPassword:       req.OldPassword,
  		NewPassword:       req.NewPassword,
  		SecondFactorToken: req.SecondFactorToken,
  		U2FSignResponse:   req.U2FSignResponse,
  	}
  
  	err = clt.ChangePassword(servicedReq)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	return ok(), nil
  }
docs: // changePassword updates users password based on the old password