mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
Fix email verification url
This commit is contained in:
@@ -8,6 +8,9 @@ use Illuminate\Auth\Notifications\VerifyEmail;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Notifications\Messages\MailMessage;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
|
||||
/**
|
||||
* Branded replacement for Laravel's framework `VerifyEmail` notification.
|
||||
@@ -42,4 +45,48 @@ class VerifyEmailBranded extends VerifyEmail implements ShouldQueue
|
||||
'preheader' => "Confirm your email address to activate your {$site} account.",
|
||||
]);
|
||||
}
|
||||
|
||||
protected function verificationUrl($notifiable)
|
||||
{
|
||||
if (static::$createUrlCallback) {
|
||||
return call_user_func(static::$createUrlCallback, $notifiable);
|
||||
}
|
||||
|
||||
$origin = $this->normalizedAppUrl();
|
||||
|
||||
if ($origin === null) {
|
||||
return parent::verificationUrl($notifiable);
|
||||
}
|
||||
|
||||
$parameters = [
|
||||
'id' => $notifiable->getKey(),
|
||||
'hash' => sha1($notifiable->getEmailForVerification()),
|
||||
'expires' => Carbon::now()
|
||||
->addMinutes((int) Config::get('auth.verification.expire', 60))
|
||||
->getTimestamp(),
|
||||
];
|
||||
|
||||
ksort($parameters);
|
||||
|
||||
$unsignedUrl = $origin.URL::route('verification.verify', $parameters, false);
|
||||
$key = Config::get('app.key');
|
||||
$signature = hash_hmac('sha256', $unsignedUrl, is_array($key) ? $key[0] : (string) $key);
|
||||
|
||||
return $unsignedUrl.(str_contains($unsignedUrl, '?') ? '&' : '?').'signature='.$signature;
|
||||
}
|
||||
|
||||
private function normalizedAppUrl(): ?string
|
||||
{
|
||||
$url = trim((string) Config::get('app.url', ''));
|
||||
|
||||
if ($url === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (! preg_match('~^https?://~i', $url)) {
|
||||
$url = 'https://'.$url;
|
||||
}
|
||||
|
||||
return rtrim($url, '/');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user