我正在尝试将Socialite包实现到我的项目中.这是我的代码,工作正常.但是,如果用户注销尝试重新登录,它会在数据库中重复输入.此外,我无法使用$ userData-> name获取用户的公共名称.它返回null.
这是我的控制器;
namespace App\Http\Controllers;
use App\AuthenticateUser;
use App\AuthenticateUserListener;
use App\Http\Requests;
use Illuminate\Http\Request;
class SocialLoginsController extends Controller implements
AuthenticateUserListener
{
/**
* @param AuthenticateUser $authenticateUser
* @param Request $request
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function socialLogin(AuthenticateUser $authenticateUser, Request $request)
{
$hasCode = $request->has('code');
return $authenticateUser->execute($hasCode, $this);
}
/**
* When a user has successfully been logged in...
*
* @param $user
* @return \Illuminate\Routing\Redirector
*/
public function userHasLoggedIn($user)
{
return redirect('student');
}
Run Code Online (Sandbox Code Playgroud)
我的用户存储库;
namespace App\Repositories;
use App\User;
class UserRepository …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个用户可以轻松更改密码的表单.我希望我的逻辑是正确的,但是我得到的错误如下;
Expected argument of type "string", "AppBundle\Form\ChangePasswordType" given
Run Code Online (Sandbox Code Playgroud)
这是我的控制器;
public function changePasswdAction(Request $request)
{
$changePasswordModel = new ChangePassword();
$form = $this->createForm(new ChangePasswordType(), $changePasswordModel);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// perform some action,
// such as encoding with MessageDigestPasswordEncoder and persist
return $this->redirect($this->generateUrl('homepage'));
}
return $this->render(':security:changepassword.html.twig', array(
'form' => $form->createView(),
));
}
Run Code Online (Sandbox Code Playgroud)
这是我的模特;
class ChangePassword
{
/**
* @SecurityAssert\UserPassword(
* message = "Wrong value for your current password"
* )
*/
protected $oldPassword;
/**
* @Assert\Length(
* min = 6, …Run Code Online (Sandbox Code Playgroud)