|
@@ -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();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|