mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-23 21:43:17 +00:00
Update AuthLogin listener
This commit is contained in:
parent
4ee3d10da8
commit
c27c751543
1 changed files with 47 additions and 0 deletions
|
@ -31,9 +31,45 @@ class AuthLogin
|
|||
return;
|
||||
}
|
||||
|
||||
$this->userProfile($user);
|
||||
$this->userSettings($user);
|
||||
$this->userState($user);
|
||||
$this->userDevice($user);
|
||||
$this->userProfileId($user);
|
||||
}
|
||||
|
||||
protected function userProfile($user)
|
||||
{
|
||||
if (empty($user->profile)) {
|
||||
$profile = DB::transaction(function() use($user) {
|
||||
$profile = new Profile();
|
||||
$profile->user_id = $user->id;
|
||||
$profile->username = $user->username;
|
||||
$profile->name = $user->name;
|
||||
$pkiConfig = [
|
||||
'digest_alg' => 'sha512',
|
||||
'private_key_bits' => 2048,
|
||||
'private_key_type' => OPENSSL_KEYTYPE_RSA,
|
||||
];
|
||||
$pki = openssl_pkey_new($pkiConfig);
|
||||
openssl_pkey_export($pki, $pki_private);
|
||||
$pki_public = openssl_pkey_get_details($pki);
|
||||
$pki_public = $pki_public['key'];
|
||||
|
||||
$profile->private_key = $pki_private;
|
||||
$profile->public_key = $pki_public;
|
||||
$profile->save();
|
||||
return $profile;
|
||||
});
|
||||
DB::transaction(function() use($user, $profile) {
|
||||
$user = User::findOrFail($user->id);
|
||||
$user->profile_id = $profile->id;
|
||||
$user->save();
|
||||
|
||||
CreateAvatar::dispatch($profile);
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected function userSettings($user)
|
||||
|
@ -88,4 +124,15 @@ class AuthLogin
|
|||
]);
|
||||
});
|
||||
}
|
||||
|
||||
protected function userProfileId($user)
|
||||
{
|
||||
if($user->profile_id == null) {
|
||||
DB::transaction(function() use($user) {
|
||||
$profile = $user->profile;
|
||||
$user->profile_id = $profile->id;
|
||||
$user->save();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue