Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6baadba
commit 97232be
Showing
29 changed files
with
522 additions
and
248 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers; | ||
|
||
use Illuminate\Http\Request; | ||
|
||
use App\Http\Requests; | ||
|
||
class AngularController extends Controller | ||
{ | ||
public function serveApp() | ||
{ | ||
return view('index'); | ||
} | ||
|
||
public function unsupported() | ||
{ | ||
return view('unsupported_browser'); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers\Auth; | ||
|
||
use Auth; | ||
use JWTAuth; | ||
use App\User; | ||
use Illuminate\Http\Request; | ||
use App\Http\Controllers\Controller; | ||
|
||
class AuthController extends Controller | ||
{ | ||
public function login(Request $request) | ||
{ | ||
$this->validate($request, [ | ||
'email' => 'required|email', | ||
'password' => 'required|min:8', | ||
]); | ||
|
||
$credentials = $request->only('email', 'password'); | ||
|
||
try { | ||
// verify the credentials and create a token for the user | ||
if (! $token = JWTAuth::attempt($credentials)) { | ||
return response()->error('Invalid credentials', 401); | ||
} | ||
} catch (\JWTException $e) { | ||
return response()->error('Could not create token', 500); | ||
} | ||
|
||
$user = Auth::user(); | ||
|
||
return response()->success(compact('user', 'token')); | ||
} | ||
|
||
public function register(Request $request) | ||
{ | ||
$this->validate($request, [ | ||
'name' => 'required|min:3', | ||
'email' => 'required|email|unique:users', | ||
'password' => 'required|min:8', | ||
]); | ||
|
||
$user = new User; | ||
$user->name = trim($request->name); | ||
$user->email = trim(strtolower($request->email)); | ||
$user->password = bcrypt($request->password); | ||
$user->save(); | ||
|
||
$token = JWTAuth::fromUser($user); | ||
|
||
return response()->success(compact('user', 'token')); | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
<?php | ||
|
||
namespace App\Http\Controllers\Auth; | ||
|
||
use Mail; | ||
use App\User; | ||
use App\PasswordReset; | ||
use Illuminate\Http\Request; | ||
use App\Http\Controllers\Controller; | ||
|
||
class PasswordResetController extends Controller | ||
{ | ||
public function sendResetLinkEmail(Request $request) | ||
{ | ||
$this->validate($request, [ | ||
'email' => 'required|email|exists:users,email', | ||
]); | ||
|
||
//invalidate old tokens | ||
PasswordReset::whereEmail($request->email)->delete(); | ||
|
||
$email = $request->email; | ||
$reset = PasswordReset::create([ | ||
'email' => $email, | ||
'token' => str_random(10), | ||
]); | ||
|
||
$token = $reset->token; | ||
|
||
Mail::send('auth.reset_link', compact('email', 'token'), function ($mail) use ($email) { | ||
$mail->to($email) | ||
->from('noreply@example.com') | ||
->subject('Password reset link'); | ||
}); | ||
|
||
return response()->success(true); | ||
} | ||
|
||
public function verify(Request $request) | ||
{ | ||
$this->validate($request, [ | ||
'email' => 'required|email', | ||
'token' => 'required', | ||
]); | ||
|
||
$check = PasswordReset::whereEmail($request->email) | ||
->whereToken($request->token) | ||
->first(); | ||
|
||
if (! $check) { | ||
return response()->error('Email does not exist', 422); | ||
} | ||
|
||
return response()->success(true); | ||
} | ||
|
||
public function reset(Request $request) | ||
{ | ||
$this->validate($request, [ | ||
'email' => 'required|email', | ||
'token' => "required|exists:password_resets,token,email,{$request->email}", | ||
'password' => 'required|min:8|confirmed', | ||
]); | ||
|
||
$user = User::whereEmail($request->email)->firstOrFail(); | ||
$user->password = bcrypt($request->password); | ||
$user->save(); | ||
|
||
//delete pending resets | ||
PasswordReset::whereEmail($request->email)->delete(); | ||
|
||
return response()->success(true); | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<?php | ||
|
||
namespace App; | ||
|
||
use Illuminate\Database\Eloquent\Model; | ||
|
||
class PasswordReset extends Model | ||
{ | ||
protected $fillable = ['email', 'token']; | ||
|
||
public function setUpdatedAtAttribute($value) | ||
{ | ||
// to disable updated_at | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
<?php | ||
|
||
namespace App\Providers; | ||
|
||
use Response; | ||
use Illuminate\Support\ServiceProvider; | ||
|
||
class ResponseMacroServiceProvider extends ServiceProvider | ||
{ | ||
/** | ||
* Bootstrap the application services. | ||
* | ||
* @return void | ||
*/ | ||
public function boot() | ||
{ | ||
Response::macro('success', function ($data) { | ||
return Response::json([ | ||
'errors' => false, | ||
'data' => $data, | ||
]); | ||
}); | ||
|
||
Response::macro('error', function ($message, $status = 400) { | ||
return Response::json([ | ||
'message' => $status.' error', | ||
'errors' => [ | ||
'message' => [$message], | ||
], | ||
'status_code' => $status, | ||
], $status); | ||
}); | ||
} | ||
|
||
/** | ||
* Register the application services. | ||
* | ||
* @return void | ||
*/ | ||
public function register() | ||
{ | ||
// | ||
} | ||
} |
Oops, something went wrong.