1
0
Fork 0
forked from mirror/pixelfed

Update AuthLogin listener

This commit is contained in:
Daniel Supernault 2019-06-21 12:54:58 -06:00
parent 0ae5c4368a
commit 1e8b0927a7
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -42,25 +42,26 @@ class AuthLogin
{ {
if (empty($user->profile)) { if (empty($user->profile)) {
DB::transaction(function() use($user) { DB::transaction(function() use($user) {
$profile = new Profile(); $profile = Profile::firstOrCreate(['user_id' => $user->id]);
$profile->user_id = $user->id; if($profile->wasRecentlyCreated == true) {
$profile->username = $user->username; $profile->username = $user->username;
$profile->name = $user->name; $profile->name = $user->name;
$pkiConfig = [ $pkiConfig = [
'digest_alg' => 'sha512', 'digest_alg' => 'sha512',
'private_key_bits' => 2048, 'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA, 'private_key_type' => OPENSSL_KEYTYPE_RSA,
]; ];
$pki = openssl_pkey_new($pkiConfig); $pki = openssl_pkey_new($pkiConfig);
openssl_pkey_export($pki, $pki_private); openssl_pkey_export($pki, $pki_private);
$pki_public = openssl_pkey_get_details($pki); $pki_public = openssl_pkey_get_details($pki);
$pki_public = $pki_public['key']; $pki_public = $pki_public['key'];
$profile->private_key = $pki_private; $profile->private_key = $pki_private;
$profile->public_key = $pki_public; $profile->public_key = $pki_public;
$profile->save(); $profile->save();
CreateAvatar::dispatch($profile); CreateAvatar::dispatch($profile);
}
}); });
} }
@ -114,7 +115,7 @@ class AuthLogin
return UserDevice::firstOrCreate([ return UserDevice::firstOrCreate([
'user_id' => $user->id, 'user_id' => $user->id,
'ip' => request()->ip(), 'ip' => request()->ip(),
'user_agent' => request()->userAgent(), 'user_agent' => str_limit(request()->userAgent(), 180),
]); ]);
}); });
} }
@ -124,8 +125,10 @@ class AuthLogin
if($user->profile_id == null) { if($user->profile_id == null) {
DB::transaction(function() use($user) { DB::transaction(function() use($user) {
$profile = $user->profile; $profile = $user->profile;
$user->profile_id = $profile->id; if($profile) {
$user->save(); $user->profile_id = $profile->id;
$user->save();
}
}); });
} }
} }