Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F18126529
ResetsPasswords.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Referenced Files
None
Subscribers
None
ResetsPasswords.php
View Options
<?php
namespace
AuthGrove\Services
;
use
Illuminate\Http\Request
;
use
Illuminate\Contracts\Auth\PasswordBroker
;
use
Symfony\Component\HttpKernel\Exception\NotFoundHttpException
;
trait
ResetsPasswords
{
// This trait assumes we include it in a class implementing var Guard $auth.
/**
* The password broker implementation.
*
* @var PasswordBroker
*/
protected
$passwords
;
/**
* Display the form to request a password reset link.
*
* @return Response
*/
public
function
getRecover
()
{
return
view
(
'auth.recover'
);
}
/**
* Send a reset link to the given user.
*
* @param Request $request
* @return Response
*/
public
function
postRecover
(
Request
$request
)
{
$this
->
validate
(
$request
,
[
'email'
=>
'required|email'
]);
$response
=
$this
->
passwords
->
sendResetLink
(
$request
->
only
(
'email'
),
function
(
$m
)
{
$m
->
subject
(
$this
->
getEmailSubject
());
});
switch
(
$response
)
{
case
PasswordBroker
::
RESET_LINK_SENT
:
return
redirect
()->
back
()->
with
(
'status'
,
trans
(
$response
));
case
PasswordBroker
::
INVALID_USER
:
return
redirect
()->
back
()->
withErrors
([
'email'
=>
trans
(
$response
)]);
}
}
/**
* Get the e-mail subject line to be used for the reset link email.
*
* @return string
*/
protected
function
getEmailSubject
()
{
return
isset
(
$this
->
subject
)
?
$this
->
subject
:
'Your Password Reset Link'
;
}
/**
* Display the password reset view for the given token.
*
* @param string $token
* @return Response
*/
public
function
getReset
(
$token
=
null
)
{
if
(
is_null
(
$token
))
{
throw
new
NotFoundHttpException
;
}
return
view
(
'auth.reset'
)->
with
(
'token'
,
$token
);
}
/**
* Reset the given user's password.
*
* @param Request $request
* @return Response
*/
public
function
postReset
(
Request
$request
)
{
$this
->
validate
(
$request
,
[
'token'
=>
'required'
,
'email'
=>
'required|email'
,
'password'
=>
'required|confirmed'
,
]);
$credentials
=
$request
->
only
(
'email'
,
'password'
,
'password_confirmation'
,
'token'
);
$response
=
$this
->
passwords
->
reset
(
$credentials
,
function
(
$user
,
$password
)
{
$user
->
password
=
bcrypt
(
$password
);
$user
->
save
();
$this
->
auth
->
login
(
$user
);
});
switch
(
$response
)
{
case
PasswordBroker
::
PASSWORD_RESET
:
return
redirect
(
$this
->
redirectPath
());
default
:
return
redirect
()->
back
()
->
withInput
(
$request
->
only
(
'email'
))
->
withErrors
([
'email'
=>
trans
(
$response
)]);
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Fri, Dec 19, 22:17 (2 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3252362
Default Alt Text
ResetsPasswords.php (2 KB)
Attached To
Mode
rGROVE Auth Grove
Attached
Detach File
Event Timeline
Log In to Comment