Как использовать пароль сброса, отправляемый командой auth - PullRequest
0 голосов
/ 02 ноября 2019

Я хотел бы использовать пароль сброса почты, но в другом контроллере, поскольку я не знаю, как закодировать ссылку в кнопке для mailtrap или email. Так что, если есть способ вызвать тот же пароль для сброса почты, это сэкономит мне несколько строк. Или, если кто-то может показать мне, как кодировать эту ссылку в другой почтовой функции, я в порядке

Вот контроллер, который я хотел бы использовать

public function create()
    {
        $roles = Role::all();
        $addresses = Address::all();
        $user = new User();

        return view('admin.create', compact('roles', 'addresses', 'user'));

    }
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $validatedData = $request->validate([
            'address_id' => 'required',
            'name'=> 'required|string|max:255',
            'email' => 'required|string|email|max:255|unique:users',
            'role_id' => 'required',
            'description' =>['max:255'],
        ]);

        $quickpass = substr( str_shuffle( str_repeat( 'abcdefghijklmnopqrstuvwxyz0123456789', 10 ) ), 0, 10 );
        $newuser = User::create([
            'address_id' =>$request->address_id,
            'name'=> $request->name,
            'email' => $request->email,
            'password' => Hash::make($quickpass),
            'role_id' => $request->role_id,
            'description'=> $request->description,
        ]);
        Mail::to($newuser->email)
            ->send(new NewUserPassReset());
    return view('admin.index')->with('message','The user has been created and a password reset email has been sent to them.');
}

NewUserPassReset - это сообщение, которое я создал намой собственный, который имеет только сообщение, но не имеет ссылки

Прямо сейчас я использую mailtrap, и выше - мой администратор, и именно он должен создать пользователя для меня

Буду рад любой помощи

1 Ответ

2 голосов
/ 02 ноября 2019

Выезд Illuminate\Auth\Notifications\ResetPassword.php. У него есть URL, который вы ищете:

  url(config('app.url').route('password.reset', ['token' => $token, 'email' => $email]))

Как видите, вам потребуется электронная почта и токен для генерации пароля для сбросассылка. Если вы знаете адрес электронной почты, вы можете получить токен с фасадом Illuminate\Support\Facades\Password:

$token = \Password::createToken($user)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...