diff --git a/public/js/app.js b/public/js/app.js index 19080f20..61aa6823 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -11082,11 +11082,18 @@ __webpack_require__.r(__webpack_exports__); // // // +// +// +// +// +// +// /* harmony default export */ __webpack_exports__["default"] = ({ data: function data() { return { email: '', - validationErrors: {} + validationErrors: {}, + response: '' }; }, methods: { @@ -11097,7 +11104,109 @@ __webpack_require__.r(__webpack_exports__); axios.post('/api/password/email', { email: this.email }).then(function (response) { - alert('email sent'); + _this.response = response.data.status; + })["catch"](function (error) { + console.log(error.response); + + if (error.response.data.errors) { + _this.validationErrors = error.response.data.errors; + } else if (error.response.data) { + _this.response = error.response.data.email; + } else { + _this.$router.push({ + name: 'genericError', + params: { + err: error.response.data.message + } + }); + } + }); + } + } +}); + +/***/ }), + +/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/views/auth/password/Reset.vue?vue&type=script&lang=js&": +/*!*************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/auth/password/Reset.vue?vue&type=script&lang=js& ***! + \*************************************************************************************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +/* harmony default export */ __webpack_exports__["default"] = ({ + data: function data() { + return { + token: '', + email: '', + password: '', + password_confirmation: '', + validationErrors: {} + }; + }, + created: function created() { + this.email = this.$route.query.email; + this.token = this.$route.params.token; + }, + methods: { + handleSubmit: function handleSubmit(e) { + var _this = this; + + e.preventDefault(); + axios.post('api/password/reset', { + email: this.email, + password: this.password, + password_confirmation: this.password_confirmation, + token: this.token + }).then(function (response) { + console.log(response); // localStorage.setItem('user',response.data.message.name) + // localStorage.setItem('jwt',response.data.message.token) + // if (localStorage.getItem('jwt') != null){ + // this.$router.go('/'); + // } })["catch"](function (error) { console.log(error.response); @@ -15366,10 +15475,10 @@ var render = function() { }, [ _c("h1", { staticClass: "title" }, [ - _vm._v(_vm._s(_vm.$t("passwords.reset_password"))) + _vm._v(_vm._s(_vm.$t("auth.reset_password"))) ]), _vm._v(" "), - _c("form", { attrs: { method: "POST", action: "/login" } }, [ + _c("form", { attrs: { method: "POST", action: "/password/email" } }, [ _c("div", { staticClass: "field" }, [ _c("label", { staticClass: "label" }, [ _vm._v(_vm._s(_vm.$t("auth.forms.email"))) @@ -15420,7 +15529,207 @@ var render = function() { attrs: { type: "submit" }, on: { click: _vm.handleSubmit } }, - [_vm._v(_vm._s(_vm.$t("passwords.send_password_reset_link")))] + [_vm._v(_vm._s(_vm.$t("auth.send_password_reset_link")))] + ) + ]), + _vm._v(" "), + _c( + "div", + { staticClass: "control" }, + [ + _c( + "router-link", + { + staticClass: "button is-text", + attrs: { to: { name: "login" } } + }, + [_vm._v(_vm._s(_vm.$t("commons.cancel")))] + ) + ], + 1 + ) + ]) + ]) + ] + ) + ]), + _vm._v(" "), + _vm.response + ? _c("div", { staticClass: "columns is-mobile is-centered" }, [ + _c( + "div", + { + staticClass: + "column is-two-thirds-tablet is-half-desktop is-one-third-widescreen is-one-quarter-fullhd" + }, + [_vm._v("\n " + _vm._s(_vm.response) + "\n ")] + ) + ]) + : _vm._e() + ]) +} +var staticRenderFns = [] +render._withStripped = true + + + +/***/ }), + +/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/views/auth/password/Reset.vue?vue&type=template&id=0fc9f9d3&": +/*!*****************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/auth/password/Reset.vue?vue&type=template&id=0fc9f9d3& ***! + \*****************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "section" }, [ + _c("div", { staticClass: "columns is-mobile is-centered" }, [ + _c( + "div", + { + staticClass: + "column is-two-thirds-tablet is-half-desktop is-one-third-widescreen is-one-quarter-fullhd" + }, + [ + _c("h1", { staticClass: "title" }, [ + _vm._v(_vm._s(_vm.$t("auth.new_password"))) + ]), + _vm._v(" "), + _c("form", { attrs: { method: "POST", action: "/password/reset" } }, [ + _c("div", { staticClass: "field" }, [ + _c("label", { staticClass: "label" }, [ + _vm._v(_vm._s(_vm.$t("auth.forms.email"))) + ]), + _vm._v(" "), + _c("div", { staticClass: "control" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.email, + expression: "email" + } + ], + staticClass: "input", + attrs: { id: "email", type: "email", required: "" }, + domProps: { value: _vm.email }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.email = $event.target.value + } + } + }) + ]), + _vm._v(" "), + _vm.validationErrors.email + ? _c("p", { staticClass: "help is-danger" }, [ + _vm._v(_vm._s(_vm.validationErrors.email.toString())) + ]) + : _vm._e() + ]), + _vm._v(" "), + _c("div", { staticClass: "field" }, [ + _c("label", { staticClass: "label" }, [ + _vm._v(_vm._s(_vm.$t("auth.forms.password"))) + ]), + _vm._v(" "), + _c("div", { staticClass: "control" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.password, + expression: "password" + } + ], + staticClass: "input", + attrs: { id: "password", type: "password", required: "" }, + domProps: { value: _vm.password }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.password = $event.target.value + } + } + }) + ]), + _vm._v(" "), + _vm.validationErrors.password + ? _c("p", { staticClass: "help is-danger" }, [ + _vm._v(_vm._s(_vm.validationErrors.password.toString())) + ]) + : _vm._e() + ]), + _vm._v(" "), + _c("div", { staticClass: "field" }, [ + _c("label", { staticClass: "label" }, [ + _vm._v(_vm._s(_vm.$t("auth.forms.password_confirmation"))) + ]), + _vm._v(" "), + _c("div", { staticClass: "control" }, [ + _c("input", { + directives: [ + { + name: "model", + rawName: "v-model", + value: _vm.password_confirmation, + expression: "password_confirmation" + } + ], + staticClass: "input", + attrs: { + id: "password_confirmation", + type: "password", + required: "" + }, + domProps: { value: _vm.password_confirmation }, + on: { + input: function($event) { + if ($event.target.composing) { + return + } + _vm.password_confirmation = $event.target.value + } + } + }) + ]), + _vm._v(" "), + _vm.validationErrors.password_confirmation + ? _c("p", { staticClass: "help is-danger" }, [ + _vm._v( + _vm._s( + _vm.validationErrors.password_confirmation.toString() + ) + ) + ]) + : _vm._e() + ]), + _vm._v(" "), + _c("div", { staticClass: "field is-grouped" }, [ + _c("div", { staticClass: "control" }, [ + _c( + "button", + { + staticClass: "button is-link", + attrs: { type: "submit" }, + on: { click: _vm.handleSubmit } + }, + [_vm._v(_vm._s(_vm.$t("auth.register")))] ) ]), _vm._v(" "), @@ -30493,10 +30802,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _views_Create__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./views/Create */ "./resources/js/views/Create.vue"); /* harmony import */ var _views_Edit__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./views/Edit */ "./resources/js/views/Edit.vue"); /* harmony import */ var _views_auth_password_Request__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./views/auth/password/Request */ "./resources/js/views/auth/password/Request.vue"); -/* harmony import */ var _views_Error__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./views/Error */ "./resources/js/views/Error.vue"); -/* harmony import */ var _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @fortawesome/fontawesome-svg-core */ "./node_modules/@fortawesome/fontawesome-svg-core/index.es.js"); -/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ "./node_modules/@fortawesome/free-solid-svg-icons/index.es.js"); -/* harmony import */ var _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @fortawesome/vue-fontawesome */ "./node_modules/@fortawesome/vue-fontawesome/index.es.js"); +/* harmony import */ var _views_auth_password_Reset__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./views/auth/password/Reset */ "./resources/js/views/auth/password/Reset.vue"); +/* harmony import */ var _views_Error__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./views/Error */ "./resources/js/views/Error.vue"); +/* harmony import */ var _fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @fortawesome/fontawesome-svg-core */ "./node_modules/@fortawesome/fontawesome-svg-core/index.es.js"); +/* harmony import */ var _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @fortawesome/free-solid-svg-icons */ "./node_modules/@fortawesome/free-solid-svg-icons/index.es.js"); +/* harmony import */ var _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @fortawesome/vue-fontawesome */ "./node_modules/@fortawesome/vue-fontawesome/index.es.js"); @@ -30514,8 +30824,9 @@ vue__WEBPACK_IMPORTED_MODULE_0___default.a.use(vue_i18n__WEBPACK_IMPORTED_MODULE -_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_12__["library"].add(_fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faPlus"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faQrcode"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faImage"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faTrash"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faEdit"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faCheck"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faLock"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faLockOpen"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_13__["faSearch"]); -vue__WEBPACK_IMPORTED_MODULE_0___default.a.component('font-awesome-icon', _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_14__["FontAwesomeIcon"]); // const lang = document.documentElement.lang.substr(0, 2); + +_fortawesome_fontawesome_svg_core__WEBPACK_IMPORTED_MODULE_13__["library"].add(_fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faPlus"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faQrcode"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faImage"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faTrash"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faEdit"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faCheck"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faLock"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faLockOpen"], _fortawesome_free_solid_svg_icons__WEBPACK_IMPORTED_MODULE_14__["faSearch"]); +vue__WEBPACK_IMPORTED_MODULE_0___default.a.component('font-awesome-icon', _fortawesome_vue_fontawesome__WEBPACK_IMPORTED_MODULE_15__["FontAwesomeIcon"]); // const lang = document.documentElement.lang.substr(0, 2); var lang = 'en'; var i18n = new vue_i18n__WEBPACK_IMPORTED_MODULE_2__["default"]({ @@ -30549,21 +30860,24 @@ var router = new vue_router__WEBPACK_IMPORTED_MODULE_1__["default"]({ path: '/password/request', name: 'password.request', component: _views_auth_password_Request__WEBPACK_IMPORTED_MODULE_10__["default"] - }, //{ path: '/password/reset/:token', name: 'password.reset', component: page('auth/password/reset.vue') }, - { + }, { + path: '/password/reset/:token', + name: 'password.reset', + component: _views_auth_password_Reset__WEBPACK_IMPORTED_MODULE_11__["default"] + }, { path: '/flooded', name: 'flooded', - component: _views_Error__WEBPACK_IMPORTED_MODULE_11__["default"], + component: _views_Error__WEBPACK_IMPORTED_MODULE_12__["default"], props: true }, { path: '/error', name: 'genericError', - component: _views_Error__WEBPACK_IMPORTED_MODULE_11__["default"], + component: _views_Error__WEBPACK_IMPORTED_MODULE_12__["default"], props: true }, { path: '/404', name: '404', - component: _views_Error__WEBPACK_IMPORTED_MODULE_11__["default"], + component: _views_Error__WEBPACK_IMPORTED_MODULE_12__["default"], props: true }, { path: '*', @@ -31340,6 +31654,75 @@ __webpack_require__.r(__webpack_exports__); +/***/ }), + +/***/ "./resources/js/views/auth/password/Reset.vue": +/*!****************************************************!*\ + !*** ./resources/js/views/auth/password/Reset.vue ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Reset_vue_vue_type_template_id_0fc9f9d3___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Reset.vue?vue&type=template&id=0fc9f9d3& */ "./resources/js/views/auth/password/Reset.vue?vue&type=template&id=0fc9f9d3&"); +/* harmony import */ var _Reset_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Reset.vue?vue&type=script&lang=js& */ "./resources/js/views/auth/password/Reset.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); + + + + + +/* normalize component */ + +var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( + _Reset_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], + _Reset_vue_vue_type_template_id_0fc9f9d3___WEBPACK_IMPORTED_MODULE_0__["render"], + _Reset_vue_vue_type_template_id_0fc9f9d3___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "resources/js/views/auth/password/Reset.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "./resources/js/views/auth/password/Reset.vue?vue&type=script&lang=js&": +/*!*****************************************************************************!*\ + !*** ./resources/js/views/auth/password/Reset.vue?vue&type=script&lang=js& ***! + \*****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Reset_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib??ref--4-0!../../../../../node_modules/vue-loader/lib??vue-loader-options!./Reset.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/views/auth/password/Reset.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Reset_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); + +/***/ }), + +/***/ "./resources/js/views/auth/password/Reset.vue?vue&type=template&id=0fc9f9d3&": +/*!***********************************************************************************!*\ + !*** ./resources/js/views/auth/password/Reset.vue?vue&type=template&id=0fc9f9d3& ***! + \***********************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Reset_vue_vue_type_template_id_0fc9f9d3___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../node_modules/vue-loader/lib??vue-loader-options!./Reset.vue?vue&type=template&id=0fc9f9d3& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/views/auth/password/Reset.vue?vue&type=template&id=0fc9f9d3&"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Reset_vue_vue_type_template_id_0fc9f9d3___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Reset_vue_vue_type_template_id_0fc9f9d3___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + + + /***/ }), /***/ "./resources/js/vue-i18n-locales.generated.js": @@ -31372,7 +31755,10 @@ __webpack_require__.r(__webpack_exports__); "password_do_not_match": "Password do not match", "forgot_your_password": "Forgot your password?", "request_password_reset": "Request a password reset" - } + }, + "send_password_reset_link": "Send password reset link", + "reset_password": "Reset your password", + "new_password": "New password" }, "commons": { "cancel": "Cancel" @@ -31397,9 +31783,7 @@ __webpack_require__.r(__webpack_exports__); "reset": "Your password has been reset!", "sent": "We have e-mailed your password reset link!", "token": "This password reset token is invalid.", - "user": "We can't find a user with that e-mail address.", - "send_password_reset_link": "Send password reset link", - "reset_password": "Reset your password" + "user": "We can't find a user with that e-mail address." }, "twofaccounts": { "service": "Service", @@ -31586,8 +31970,8 @@ __webpack_require__.r(__webpack_exports__); /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! C:\Users\lf151415\Code Hub\Repositories\2FAuth\resources\js\app.js */"./resources/js/app.js"); -module.exports = __webpack_require__(/*! C:\Users\lf151415\Code Hub\Repositories\2FAuth\resources\sass\app.scss */"./resources/sass/app.scss"); +__webpack_require__(/*! /media/bubka/DocsDrive/Repositories/2FAuth/resources/js/app.js */"./resources/js/app.js"); +module.exports = __webpack_require__(/*! /media/bubka/DocsDrive/Repositories/2FAuth/resources/sass/app.scss */"./resources/sass/app.scss"); /***/ }) diff --git a/public/js/bootstrap.js b/public/js/bootstrap.js index 5e1a6aed..988bf8c7 100644 --- a/public/js/bootstrap.js +++ b/public/js/bootstrap.js @@ -110,6 +110,7 @@ module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/li var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js"); var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js"); +var buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ "./node_modules/axios/lib/core/buildFullPath.js"); var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js"); var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js"); var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js"); @@ -132,7 +133,8 @@ module.exports = function xhrAdapter(config) { requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); } - request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); + var fullPath = buildFullPath(config.baseURL, config.url); + request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); // Set the request timeout in MS request.timeout = config.timeout; @@ -193,7 +195,11 @@ module.exports = function xhrAdapter(config) { // Handle timeout request.ontimeout = function handleTimeout() { - reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', + var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded'; + if (config.timeoutErrorMessage) { + timeoutErrorMessage = config.timeoutErrorMessage; + } + reject(createError(timeoutErrorMessage, config, 'ECONNABORTED', request)); // Clean up request @@ -207,7 +213,7 @@ module.exports = function xhrAdapter(config) { var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js"); // Add xsrf header - var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? + var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined; @@ -230,8 +236,8 @@ module.exports = function xhrAdapter(config) { } // Add withCredentials to request if needed - if (config.withCredentials) { - request.withCredentials = true; + if (!utils.isUndefined(config.withCredentials)) { + request.withCredentials = !!config.withCredentials; } // Add responseType to request if needed @@ -510,7 +516,15 @@ Axios.prototype.request = function request(config) { } config = mergeConfig(this.defaults, config); - config.method = config.method ? config.method.toLowerCase() : 'get'; + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } // Hook up interceptors middleware var chain = [dispatchRequest, undefined]; @@ -625,6 +639,38 @@ InterceptorManager.prototype.forEach = function forEach(fn) { module.exports = InterceptorManager; +/***/ }), + +/***/ "./node_modules/axios/lib/core/buildFullPath.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/core/buildFullPath.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); +var combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); + +/** + * Creates a new URL by combining the baseURL with the requestedURL, + * only when the requestedURL is not already an absolute URL. + * If the requestURL is absolute, this function returns the requestedURL untouched. + * + * @param {string} baseURL The base URL + * @param {string} requestedURL Absolute or relative URL to combine + * @returns {string} The combined full path + */ +module.exports = function buildFullPath(baseURL, requestedURL) { + if (baseURL && !isAbsoluteURL(requestedURL)) { + return combineURLs(baseURL, requestedURL); + } + return requestedURL; +}; + + /***/ }), /***/ "./node_modules/axios/lib/core/createError.js": @@ -671,8 +717,6 @@ var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/util var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js"); var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js"); var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js"); -var isAbsoluteURL = __webpack_require__(/*! ./../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js"); -var combineURLs = __webpack_require__(/*! ./../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js"); /** * Throws a `Cancel` if cancellation has been requested. @@ -692,11 +736,6 @@ function throwIfCancellationRequested(config) { module.exports = function dispatchRequest(config) { throwIfCancellationRequested(config); - // Support baseURL config - if (config.baseURL && !isAbsoluteURL(config.url)) { - config.url = combineURLs(config.baseURL, config.url); - } - // Ensure headers exist config.headers = config.headers || {}; @@ -711,7 +750,7 @@ module.exports = function dispatchRequest(config) { config.headers = utils.merge( config.headers.common || {}, config.headers[config.method] || {}, - config.headers || {} + config.headers ); utils.forEach( @@ -834,13 +873,23 @@ module.exports = function mergeConfig(config1, config2) { config2 = config2 || {}; var config = {}; - utils.forEach(['url', 'method', 'params', 'data'], function valueFromConfig2(prop) { + var valueFromConfig2Keys = ['url', 'method', 'params', 'data']; + var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy']; + var defaultToConfig2Keys = [ + 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', + 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', + 'httpsAgent', 'cancelToken', 'socketPath' + ]; + + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { if (typeof config2[prop] !== 'undefined') { config[prop] = config2[prop]; } }); - utils.forEach(['headers', 'auth', 'proxy'], function mergeDeepProperties(prop) { + utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) { if (utils.isObject(config2[prop])) { config[prop] = utils.deepMerge(config1[prop], config2[prop]); } else if (typeof config2[prop] !== 'undefined') { @@ -852,13 +901,25 @@ module.exports = function mergeConfig(config1, config2) { } }); - utils.forEach([ - 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', - 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', - 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', - 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', - 'socketPath' - ], function defaultToConfig2(prop) { + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (typeof config2[prop] !== 'undefined') { + config[prop] = config2[prop]; + } else if (typeof config1[prop] !== 'undefined') { + config[prop] = config1[prop]; + } + }); + + var axiosKeys = valueFromConfig2Keys + .concat(mergeDeepPropertiesKeys) + .concat(defaultToConfig2Keys); + + var otherKeys = Object + .keys(config2) + .filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + + utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) { if (typeof config2[prop] !== 'undefined') { config[prop] = config2[prop]; } else if (typeof config1[prop] !== 'undefined') { @@ -966,13 +1027,12 @@ function setContentTypeIfUnset(headers, value) { function getDefaultAdapter() { var adapter; - // Only Node.JS has a process variable that is of [[Class]] process - if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { - // For node use HTTP adapter - adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); - } else if (typeof XMLHttpRequest !== 'undefined') { + if (typeof XMLHttpRequest !== 'undefined') { // For browsers use XHR adapter adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js"); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js"); } return adapter; } @@ -1286,6 +1346,7 @@ module.exports = function isAbsoluteURL(url) { var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js"); +var isValidXss = __webpack_require__(/*! ./isValidXss */ "./node_modules/axios/lib/helpers/isValidXss.js"); module.exports = ( utils.isStandardBrowserEnv() ? @@ -1306,6 +1367,10 @@ module.exports = ( function resolveURL(url) { var href = url; + if (isValidXss(url)) { + throw new Error('URL contains XSS injection attempt'); + } + if (msie) { // IE needs attribute set twice to normalize properties urlParsingNode.setAttribute('href', href); @@ -1353,6 +1418,25 @@ module.exports = ( ); +/***/ }), + +/***/ "./node_modules/axios/lib/helpers/isValidXss.js": +/*!******************************************************!*\ + !*** ./node_modules/axios/lib/helpers/isValidXss.js ***! + \******************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function isValidXss(requestURL) { + var xssRegex = /(\b)(on\w+)=|javascript|(<\s*)(\/*)script/gi; + return xssRegex.test(requestURL); +}; + + + /***/ }), /***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js": @@ -1494,7 +1578,6 @@ module.exports = function spread(callback) { var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js"); -var isBuffer = __webpack_require__(/*! is-buffer */ "./node_modules/axios/node_modules/is-buffer/index.js"); /*global toString:true*/ @@ -1512,6 +1595,27 @@ function isArray(val) { return toString.call(val) === '[object Array]'; } +/** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ +function isUndefined(val) { + return typeof val === 'undefined'; +} + +/** + * Determine if a value is a Buffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Buffer, otherwise false + */ +function isBuffer(val) { + return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) + && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val); +} + /** * Determine if a value is an ArrayBuffer * @@ -1568,16 +1672,6 @@ function isNumber(val) { return typeof val === 'number'; } -/** - * Determine if a value is undefined - * - * @param {Object} val The value to test - * @returns {boolean} True if the value is undefined, otherwise false - */ -function isUndefined(val) { - return typeof val === 'undefined'; -} - /** * Determine if a value is an Object * @@ -1827,28 +1921,6 @@ module.exports = { }; -/***/ }), - -/***/ "./node_modules/axios/node_modules/is-buffer/index.js": -/*!************************************************************!*\ - !*** ./node_modules/axios/node_modules/is-buffer/index.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -module.exports = function isBuffer (obj) { - return obj != null && obj.constructor != null && - typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) -} - - /***/ }), /***/ "./node_modules/jquery/dist/jquery.js": @@ -32529,7 +32601,7 @@ if (token) { /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! C:\Users\lf151415\Code Hub\Repositories\2FAuth\resources\js\bootstrap.js */"./resources/js/bootstrap.js"); +module.exports = __webpack_require__(/*! /media/bubka/DocsDrive/Repositories/2FAuth/resources/js/bootstrap.js */"./resources/js/bootstrap.js"); /***/ }) diff --git a/public/js/vue-i18n-locales.generated.js b/public/js/vue-i18n-locales.generated.js index bbbc7fd9..831fe91f 100644 --- a/public/js/vue-i18n-locales.generated.js +++ b/public/js/vue-i18n-locales.generated.js @@ -116,7 +116,10 @@ __webpack_require__.r(__webpack_exports__); "password_do_not_match": "Password do not match", "forgot_your_password": "Forgot your password?", "request_password_reset": "Request a password reset" - } + }, + "send_password_reset_link": "Send password reset link", + "reset_password": "Reset your password", + "new_password": "New password" }, "commons": { "cancel": "Cancel" @@ -141,9 +144,7 @@ __webpack_require__.r(__webpack_exports__); "reset": "Your password has been reset!", "sent": "We have e-mailed your password reset link!", "token": "This password reset token is invalid.", - "user": "We can't find a user with that e-mail address.", - "send_password_reset_link": "Send password reset link", - "reset_password": "Reset your password" + "user": "We can't find a user with that e-mail address." }, "twofaccounts": { "service": "Service", @@ -319,7 +320,7 @@ __webpack_require__.r(__webpack_exports__); /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! C:\Users\lf151415\Code Hub\Repositories\2FAuth\resources\js\vue-i18n-locales.generated.js */"./resources/js/vue-i18n-locales.generated.js"); +module.exports = __webpack_require__(/*! /media/bubka/DocsDrive/Repositories/2FAuth/resources/js/vue-i18n-locales.generated.js */"./resources/js/vue-i18n-locales.generated.js"); /***/ }) diff --git a/resources/js/vue-i18n-locales.generated.js b/resources/js/vue-i18n-locales.generated.js index a084f769..060521d6 100644 --- a/resources/js/vue-i18n-locales.generated.js +++ b/resources/js/vue-i18n-locales.generated.js @@ -19,7 +19,10 @@ export default { "password_do_not_match": "Password do not match", "forgot_your_password": "Forgot your password?", "request_password_reset": "Request a password reset" - } + }, + "send_password_reset_link": "Send password reset link", + "reset_password": "Reset your password", + "new_password": "New password" }, "commons": { "cancel": "Cancel" @@ -44,9 +47,7 @@ export default { "reset": "Your password has been reset!", "sent": "We have e-mailed your password reset link!", "token": "This password reset token is invalid.", - "user": "We can't find a user with that e-mail address.", - "send_password_reset_link": "Send password reset link", - "reset_password": "Reset your password" + "user": "We can't find a user with that e-mail address." }, "twofaccounts": { "service": "Service",