diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index 4d63000ea29d..aeccad171f51 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -13,6 +13,8 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\SendsPasswordResetEmails; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Password; class ForgotPasswordController extends Controller { @@ -38,4 +40,21 @@ class ForgotPasswordController extends Controller { $this->middleware('guest'); } + + public function sendResetLinkEmail(Request $request) + { + $this->validateEmail($request); + + // We will send the password reset link to this user. Once we have attempted + // to send the link, we will examine the response then see the message we + // need to show to the user. Finally, we'll send out a proper response. + $response = $this->broker()->sendResetLink( + $this->credentials($request) + ); + + return $response == Password::RESET_LINK_SENT + ? response()->json(['message' => 'Reset link sent to your email.', 'status' => true], 201) + : response()->json(['message' => 'Unable to send reset link', 'status' => false], 401); + } + } diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 467a91de016f..5d47a2591624 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -42,7 +42,7 @@ class LoginController extends BaseController use AuthenticatesUsers; use UserSessionAttributes; - + protected $entity_type = CompanyUser::class; protected $entity_transformer = CompanyUserTransformer::class; diff --git a/routes/api.php b/routes/api.php index 85d8150248e2..c0b31f763e40 100644 --- a/routes/api.php +++ b/routes/api.php @@ -28,7 +28,7 @@ Route::group(['middleware' => ['api_secret_check']], function () { Route::group(['api_secret_check','domain_db'], function () { Route::post('api/v1/login', 'Auth\LoginController@apiLogin')->name('login.submit'); - + Route::post('api/v1/reset_password', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.reset'); }); Route::group(['middleware' => ['db','api_secret_check','token_auth'], 'prefix' =>'api/v1', 'as' => 'api.'], function () {