mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-20 00:42:16 +00:00
added socialite provider for the user
This commit is contained in:
@@ -18,7 +18,7 @@ class CreateUsersTable extends Migration
|
|||||||
$table->enum('role', ['admin', 'user'])->default('user');
|
$table->enum('role', ['admin', 'user'])->default('user');
|
||||||
$table->string('email')->unique()->index();
|
$table->string('email')->unique()->index();
|
||||||
$table->timestamp('email_verified_at')->nullable();
|
$table->timestamp('email_verified_at')->nullable();
|
||||||
$table->string('password')->nullable();
|
$table->string('password');
|
||||||
$table->rememberToken();
|
$table->rememberToken();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
$table->charset = 'utf8mb4';
|
$table->charset = 'utf8mb4';
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class AddOauthProviderToUsersTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('users', function (Blueprint $table) {
|
||||||
|
$table->string('oauth_provider')->nullable();
|
||||||
|
$table->string('password')->nullable()->change();
|
||||||
|
|
||||||
|
$table->charset = 'utf8mb4';
|
||||||
|
$table->collation = 'utf8mb4_unicode_ci';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('users', function (Blueprint $table) {
|
||||||
|
//
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
"/chunks/settings.js": "/chunks/settings.js?id=ccc5f90e9d662e5eadda",
|
"/chunks/settings.js": "/chunks/settings.js?id=ccc5f90e9d662e5eadda",
|
||||||
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=7aef028d0a71284058fd",
|
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=7aef028d0a71284058fd",
|
||||||
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=0f501d0b00bcd6f221f4",
|
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=0f501d0b00bcd6f221f4",
|
||||||
"/chunks/settings-password.js": "/chunks/settings-password.js?id=a1d89bc9ac55db4e12ba",
|
"/chunks/settings-password.js": "/chunks/settings-password.js?id=2f6a91171aa1a5fed1e0",
|
||||||
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=c5c29b78bd0a4594c74d",
|
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=c5c29b78bd0a4594c74d",
|
||||||
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=2a52974c78e61fded592",
|
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=2a52974c78e61fded592",
|
||||||
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=90af249e45b1d57212db",
|
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=90af249e45b1d57212db",
|
||||||
@@ -81,8 +81,8 @@
|
|||||||
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=8a37309a849e9206f624",
|
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=8a37309a849e9206f624",
|
||||||
"/chunks/shared/files.js": "/chunks/shared/files.js?id=3cfbad4ec2ea510cd318",
|
"/chunks/shared/files.js": "/chunks/shared/files.js?id=3cfbad4ec2ea510cd318",
|
||||||
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=eedeb944475f314ee4cd",
|
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=eedeb944475f314ee4cd",
|
||||||
"/chunks/sign-in.js": "/chunks/sign-in.js?id=d2f9e52b4b526a8e273d",
|
"/chunks/sign-in.js": "/chunks/sign-in.js?id=fd89b3a0b13969e06a63",
|
||||||
"/chunks/sign-up.js": "/chunks/sign-up.js?id=ceae3b013e80718b7c34",
|
"/chunks/sign-up.js": "/chunks/sign-up.js?id=a0717b4f3add50c50101",
|
||||||
"/chunks/status-check.js": "/chunks/status-check.js?id=f88c5b7d72ec9997075c",
|
"/chunks/status-check.js": "/chunks/status-check.js?id=f88c5b7d72ec9997075c",
|
||||||
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=cc4a1b99e8548d502e99",
|
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=cc4a1b99e8548d502e99",
|
||||||
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=f0e719b0b952bee121b8",
|
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=f0e719b0b952bee121b8",
|
||||||
@@ -105,16 +105,144 @@
|
|||||||
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~b505e62a.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~b505e62a.js?id=8163e0eab55c50f8afb8",
|
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~b505e62a.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~b505e62a.js?id=8163e0eab55c50f8afb8",
|
||||||
"/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~40ccbae3.js": "/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~40ccbae3.js?id=37ce1e1ab9968c100712",
|
"/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~40ccbae3.js": "/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~40ccbae3.js?id=37ce1e1ab9968c100712",
|
||||||
"/vendors~chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/vendors~chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=a0fa80db175709ba340a",
|
"/vendors~chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/vendors~chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=a0fa80db175709ba340a",
|
||||||
"/chunks/sign-in.a5677bdc62efa362e777.hot-update.js": "/chunks/sign-in.a5677bdc62efa362e777.hot-update.js",
|
"/chunks/sign-in.686f5271f28dd1ecc9c2.hot-update.js": "/chunks/sign-in.686f5271f28dd1ecc9c2.hot-update.js",
|
||||||
"/chunks/sign-up.a5677bdc62efa362e777.hot-update.js": "/chunks/sign-up.a5677bdc62efa362e777.hot-update.js",
|
"/chunks/sign-in.cdfe822ae6724edcf9e3.hot-update.js": "/chunks/sign-in.cdfe822ae6724edcf9e3.hot-update.js",
|
||||||
"/chunks/sign-in.c60195416bfb5d672b3e.hot-update.js": "/chunks/sign-in.c60195416bfb5d672b3e.hot-update.js",
|
"/js/main.5cb5355495c10738ca8d.hot-update.js": "/js/main.5cb5355495c10738ca8d.hot-update.js",
|
||||||
"/chunks/sign-up.c60195416bfb5d672b3e.hot-update.js": "/chunks/sign-up.c60195416bfb5d672b3e.hot-update.js",
|
"/chunks/sign-in.46ad6570c02c9ad807ab.hot-update.js": "/chunks/sign-in.46ad6570c02c9ad807ab.hot-update.js",
|
||||||
"/chunks/sign-in.c4eb750a006d9f8a2cf7.hot-update.js": "/chunks/sign-in.c4eb750a006d9f8a2cf7.hot-update.js",
|
"/chunks/sign-up.46ad6570c02c9ad807ab.hot-update.js": "/chunks/sign-up.46ad6570c02c9ad807ab.hot-update.js",
|
||||||
"/chunks/sign-up.c4eb750a006d9f8a2cf7.hot-update.js": "/chunks/sign-up.c4eb750a006d9f8a2cf7.hot-update.js",
|
"/chunks/sign-in.c999fd1d09198d23e62b.hot-update.js": "/chunks/sign-in.c999fd1d09198d23e62b.hot-update.js",
|
||||||
"/chunks/email-verified.c680ec669f8f5c96843b.hot-update.js": "/chunks/email-verified.c680ec669f8f5c96843b.hot-update.js",
|
"/chunks/sign-up.c999fd1d09198d23e62b.hot-update.js": "/chunks/sign-up.c999fd1d09198d23e62b.hot-update.js",
|
||||||
"/chunks/email-verified.992fd9a423096efa5e80.hot-update.js": "/chunks/email-verified.992fd9a423096efa5e80.hot-update.js",
|
"/chunks/sign-in.b972ce0f729b847f7bc4.hot-update.js": "/chunks/sign-in.b972ce0f729b847f7bc4.hot-update.js",
|
||||||
"/chunks/email-verified.474a722d5b48b372f9c2.hot-update.js": "/chunks/email-verified.474a722d5b48b372f9c2.hot-update.js",
|
"/chunks/sign-up.b972ce0f729b847f7bc4.hot-update.js": "/chunks/sign-up.b972ce0f729b847f7bc4.hot-update.js",
|
||||||
"/chunks/email-verified.45577197a849383f1a51.hot-update.js": "/chunks/email-verified.45577197a849383f1a51.hot-update.js",
|
"/js/main.a2eda18296319b73ec52.hot-update.js": "/js/main.a2eda18296319b73ec52.hot-update.js",
|
||||||
"/chunks/email-verified.c8260460097fbc91f8f1.hot-update.js": "/chunks/email-verified.c8260460097fbc91f8f1.hot-update.js",
|
"/js/main.edf927c4b7a75875c511.hot-update.js": "/js/main.edf927c4b7a75875c511.hot-update.js",
|
||||||
"/chunks/settings-password.5bf4baeca8d09d7194c4.hot-update.js": "/chunks/settings-password.5bf4baeca8d09d7194c4.hot-update.js"
|
"/chunks/sign-in.a05fe9e09d07157775ef.hot-update.js": "/chunks/sign-in.a05fe9e09d07157775ef.hot-update.js",
|
||||||
|
"/chunks/sign-up.a05fe9e09d07157775ef.hot-update.js": "/chunks/sign-up.a05fe9e09d07157775ef.hot-update.js",
|
||||||
|
"/js/main.e8f7948a8836d2795dd6.hot-update.js": "/js/main.e8f7948a8836d2795dd6.hot-update.js",
|
||||||
|
"/js/main.35184536e4191267525a.hot-update.js": "/js/main.35184536e4191267525a.hot-update.js",
|
||||||
|
"/chunks/sign-in.bf179c57ed77cfd5da44.hot-update.js": "/chunks/sign-in.bf179c57ed77cfd5da44.hot-update.js",
|
||||||
|
"/chunks/sign-in.bb16f09259e9aea817e3.hot-update.js": "/chunks/sign-in.bb16f09259e9aea817e3.hot-update.js",
|
||||||
|
"/chunks/settings-password.bab5141190de8ecabdac.hot-update.js": "/chunks/settings-password.bab5141190de8ecabdac.hot-update.js",
|
||||||
|
"/chunks/sign-in.8b45f65282712a1e5884.hot-update.js": "/chunks/sign-in.8b45f65282712a1e5884.hot-update.js",
|
||||||
|
"/chunks/sign-in.7ccdabef3110808f8754.hot-update.js": "/chunks/sign-in.7ccdabef3110808f8754.hot-update.js",
|
||||||
|
"/chunks/sign-up.7ccdabef3110808f8754.hot-update.js": "/chunks/sign-up.7ccdabef3110808f8754.hot-update.js",
|
||||||
|
"/chunks/sign-in.d1564b7cfee1039ceb42.hot-update.js": "/chunks/sign-in.d1564b7cfee1039ceb42.hot-update.js",
|
||||||
|
"/chunks/sign-up.d1564b7cfee1039ceb42.hot-update.js": "/chunks/sign-up.d1564b7cfee1039ceb42.hot-update.js",
|
||||||
|
"/chunks/sign-in.5ee4c4787853253b33f3.hot-update.js": "/chunks/sign-in.5ee4c4787853253b33f3.hot-update.js",
|
||||||
|
"/chunks/sign-up.5ee4c4787853253b33f3.hot-update.js": "/chunks/sign-up.5ee4c4787853253b33f3.hot-update.js",
|
||||||
|
"/chunks/sign-in.f499dc74e28d7116fea8.hot-update.js": "/chunks/sign-in.f499dc74e28d7116fea8.hot-update.js",
|
||||||
|
"/chunks/sign-up.f499dc74e28d7116fea8.hot-update.js": "/chunks/sign-up.f499dc74e28d7116fea8.hot-update.js",
|
||||||
|
"/chunks/sign-in.a34a85adefefaa873eef.hot-update.js": "/chunks/sign-in.a34a85adefefaa873eef.hot-update.js",
|
||||||
|
"/chunks/sign-up.a34a85adefefaa873eef.hot-update.js": "/chunks/sign-up.a34a85adefefaa873eef.hot-update.js",
|
||||||
|
"/chunks/sign-in.820320fa0ba98230fe7b.hot-update.js": "/chunks/sign-in.820320fa0ba98230fe7b.hot-update.js",
|
||||||
|
"/chunks/sign-up.820320fa0ba98230fe7b.hot-update.js": "/chunks/sign-up.820320fa0ba98230fe7b.hot-update.js",
|
||||||
|
"/chunks/sign-in.f5d0013f3f3c99fca12c.hot-update.js": "/chunks/sign-in.f5d0013f3f3c99fca12c.hot-update.js",
|
||||||
|
"/chunks/sign-up.f5d0013f3f3c99fca12c.hot-update.js": "/chunks/sign-up.f5d0013f3f3c99fca12c.hot-update.js",
|
||||||
|
"/chunks/sign-in.b6c80d84078412edd374.hot-update.js": "/chunks/sign-in.b6c80d84078412edd374.hot-update.js",
|
||||||
|
"/chunks/sign-up.b6c80d84078412edd374.hot-update.js": "/chunks/sign-up.b6c80d84078412edd374.hot-update.js",
|
||||||
|
"/chunks/sign-in.9163782f5e18b6da229d.hot-update.js": "/chunks/sign-in.9163782f5e18b6da229d.hot-update.js",
|
||||||
|
"/chunks/sign-up.9163782f5e18b6da229d.hot-update.js": "/chunks/sign-up.9163782f5e18b6da229d.hot-update.js",
|
||||||
|
"/chunks/sign-in.fcc79d7b9b6a35f4b5c2.hot-update.js": "/chunks/sign-in.fcc79d7b9b6a35f4b5c2.hot-update.js",
|
||||||
|
"/chunks/sign-up.fcc79d7b9b6a35f4b5c2.hot-update.js": "/chunks/sign-up.fcc79d7b9b6a35f4b5c2.hot-update.js",
|
||||||
|
"/chunks/sign-in.778c9f41da36c8104dfa.hot-update.js": "/chunks/sign-in.778c9f41da36c8104dfa.hot-update.js",
|
||||||
|
"/chunks/sign-up.778c9f41da36c8104dfa.hot-update.js": "/chunks/sign-up.778c9f41da36c8104dfa.hot-update.js",
|
||||||
|
"/chunks/sign-in.b0498fd284b764a9a4bd.hot-update.js": "/chunks/sign-in.b0498fd284b764a9a4bd.hot-update.js",
|
||||||
|
"/chunks/sign-up.b0498fd284b764a9a4bd.hot-update.js": "/chunks/sign-up.b0498fd284b764a9a4bd.hot-update.js",
|
||||||
|
"/chunks/sign-in.740bb61ad011254d1df7.hot-update.js": "/chunks/sign-in.740bb61ad011254d1df7.hot-update.js",
|
||||||
|
"/chunks/sign-up.740bb61ad011254d1df7.hot-update.js": "/chunks/sign-up.740bb61ad011254d1df7.hot-update.js",
|
||||||
|
"/chunks/sign-in.aef235bdf1ebd19862bd.hot-update.js": "/chunks/sign-in.aef235bdf1ebd19862bd.hot-update.js",
|
||||||
|
"/chunks/sign-up.aef235bdf1ebd19862bd.hot-update.js": "/chunks/sign-up.aef235bdf1ebd19862bd.hot-update.js",
|
||||||
|
"/chunks/sign-in.d92d280b84dc5a290cd4.hot-update.js": "/chunks/sign-in.d92d280b84dc5a290cd4.hot-update.js",
|
||||||
|
"/chunks/sign-up.d92d280b84dc5a290cd4.hot-update.js": "/chunks/sign-up.d92d280b84dc5a290cd4.hot-update.js",
|
||||||
|
"/chunks/sign-in.cad995b5badc722eeff8.hot-update.js": "/chunks/sign-in.cad995b5badc722eeff8.hot-update.js",
|
||||||
|
"/chunks/sign-up.cad995b5badc722eeff8.hot-update.js": "/chunks/sign-up.cad995b5badc722eeff8.hot-update.js",
|
||||||
|
"/chunks/sign-in.fd9150cd6b883731b7ca.hot-update.js": "/chunks/sign-in.fd9150cd6b883731b7ca.hot-update.js",
|
||||||
|
"/chunks/sign-up.fd9150cd6b883731b7ca.hot-update.js": "/chunks/sign-up.fd9150cd6b883731b7ca.hot-update.js",
|
||||||
|
"/chunks/sign-in.02a39e19fea0db373771.hot-update.js": "/chunks/sign-in.02a39e19fea0db373771.hot-update.js",
|
||||||
|
"/chunks/sign-up.02a39e19fea0db373771.hot-update.js": "/chunks/sign-up.02a39e19fea0db373771.hot-update.js",
|
||||||
|
"/chunks/sign-in.17b81fa1a4fff37406d3.hot-update.js": "/chunks/sign-in.17b81fa1a4fff37406d3.hot-update.js",
|
||||||
|
"/chunks/sign-up.17b81fa1a4fff37406d3.hot-update.js": "/chunks/sign-up.17b81fa1a4fff37406d3.hot-update.js",
|
||||||
|
"/chunks/sign-in.b4636df7427d1ab80635.hot-update.js": "/chunks/sign-in.b4636df7427d1ab80635.hot-update.js",
|
||||||
|
"/chunks/sign-up.b4636df7427d1ab80635.hot-update.js": "/chunks/sign-up.b4636df7427d1ab80635.hot-update.js",
|
||||||
|
"/chunks/sign-in.78b984ba68f0146935b7.hot-update.js": "/chunks/sign-in.78b984ba68f0146935b7.hot-update.js",
|
||||||
|
"/chunks/sign-up.78b984ba68f0146935b7.hot-update.js": "/chunks/sign-up.78b984ba68f0146935b7.hot-update.js",
|
||||||
|
"/chunks/sign-in.cdcd2b64c5d92c3c9c36.hot-update.js": "/chunks/sign-in.cdcd2b64c5d92c3c9c36.hot-update.js",
|
||||||
|
"/chunks/sign-up.cdcd2b64c5d92c3c9c36.hot-update.js": "/chunks/sign-up.cdcd2b64c5d92c3c9c36.hot-update.js",
|
||||||
|
"/chunks/sign-in.e15984fb0e910e52d8b7.hot-update.js": "/chunks/sign-in.e15984fb0e910e52d8b7.hot-update.js",
|
||||||
|
"/chunks/sign-up.e15984fb0e910e52d8b7.hot-update.js": "/chunks/sign-up.e15984fb0e910e52d8b7.hot-update.js",
|
||||||
|
"/chunks/sign-in.880f4fcfc3b148080f3d.hot-update.js": "/chunks/sign-in.880f4fcfc3b148080f3d.hot-update.js",
|
||||||
|
"/chunks/sign-up.880f4fcfc3b148080f3d.hot-update.js": "/chunks/sign-up.880f4fcfc3b148080f3d.hot-update.js",
|
||||||
|
"/chunks/sign-in.26a097fa2eafa0eb99b0.hot-update.js": "/chunks/sign-in.26a097fa2eafa0eb99b0.hot-update.js",
|
||||||
|
"/chunks/sign-up.26a097fa2eafa0eb99b0.hot-update.js": "/chunks/sign-up.26a097fa2eafa0eb99b0.hot-update.js",
|
||||||
|
"/chunks/sign-in.fe5c69141b666649c6e1.hot-update.js": "/chunks/sign-in.fe5c69141b666649c6e1.hot-update.js",
|
||||||
|
"/chunks/sign-up.fe5c69141b666649c6e1.hot-update.js": "/chunks/sign-up.fe5c69141b666649c6e1.hot-update.js",
|
||||||
|
"/chunks/sign-in.25d52addfc88e7ed197a.hot-update.js": "/chunks/sign-in.25d52addfc88e7ed197a.hot-update.js",
|
||||||
|
"/chunks/sign-up.25d52addfc88e7ed197a.hot-update.js": "/chunks/sign-up.25d52addfc88e7ed197a.hot-update.js",
|
||||||
|
"/chunks/sign-in.62fd8f84e461fb075dfc.hot-update.js": "/chunks/sign-in.62fd8f84e461fb075dfc.hot-update.js",
|
||||||
|
"/chunks/sign-up.62fd8f84e461fb075dfc.hot-update.js": "/chunks/sign-up.62fd8f84e461fb075dfc.hot-update.js",
|
||||||
|
"/chunks/sign-in.7e29c4c44035fe08a6e1.hot-update.js": "/chunks/sign-in.7e29c4c44035fe08a6e1.hot-update.js",
|
||||||
|
"/chunks/sign-up.7e29c4c44035fe08a6e1.hot-update.js": "/chunks/sign-up.7e29c4c44035fe08a6e1.hot-update.js",
|
||||||
|
"/chunks/sign-in.c7f4fe321413cfd24c6e.hot-update.js": "/chunks/sign-in.c7f4fe321413cfd24c6e.hot-update.js",
|
||||||
|
"/chunks/sign-up.c7f4fe321413cfd24c6e.hot-update.js": "/chunks/sign-up.c7f4fe321413cfd24c6e.hot-update.js",
|
||||||
|
"/chunks/sign-in.a330ad40bb653ac5959b.hot-update.js": "/chunks/sign-in.a330ad40bb653ac5959b.hot-update.js",
|
||||||
|
"/chunks/sign-up.a330ad40bb653ac5959b.hot-update.js": "/chunks/sign-up.a330ad40bb653ac5959b.hot-update.js",
|
||||||
|
"/chunks/sign-in.f16548c25ccb88f0599d.hot-update.js": "/chunks/sign-in.f16548c25ccb88f0599d.hot-update.js",
|
||||||
|
"/chunks/sign-up.f16548c25ccb88f0599d.hot-update.js": "/chunks/sign-up.f16548c25ccb88f0599d.hot-update.js",
|
||||||
|
"/chunks/sign-in.f5387fae52547910c250.hot-update.js": "/chunks/sign-in.f5387fae52547910c250.hot-update.js",
|
||||||
|
"/chunks/sign-up.f5387fae52547910c250.hot-update.js": "/chunks/sign-up.f5387fae52547910c250.hot-update.js",
|
||||||
|
"/chunks/sign-in.ece0dc9ae818e42504dc.hot-update.js": "/chunks/sign-in.ece0dc9ae818e42504dc.hot-update.js",
|
||||||
|
"/chunks/sign-up.ece0dc9ae818e42504dc.hot-update.js": "/chunks/sign-up.ece0dc9ae818e42504dc.hot-update.js",
|
||||||
|
"/chunks/sign-in.1cde69cd726f9c17920c.hot-update.js": "/chunks/sign-in.1cde69cd726f9c17920c.hot-update.js",
|
||||||
|
"/chunks/sign-up.1cde69cd726f9c17920c.hot-update.js": "/chunks/sign-up.1cde69cd726f9c17920c.hot-update.js",
|
||||||
|
"/chunks/sign-in.5c675f04a65a1effc52b.hot-update.js": "/chunks/sign-in.5c675f04a65a1effc52b.hot-update.js",
|
||||||
|
"/chunks/sign-up.5c675f04a65a1effc52b.hot-update.js": "/chunks/sign-up.5c675f04a65a1effc52b.hot-update.js",
|
||||||
|
"/chunks/sign-in.7819e61ee85f34c7accd.hot-update.js": "/chunks/sign-in.7819e61ee85f34c7accd.hot-update.js",
|
||||||
|
"/chunks/sign-up.7819e61ee85f34c7accd.hot-update.js": "/chunks/sign-up.7819e61ee85f34c7accd.hot-update.js",
|
||||||
|
"/chunks/sign-in.97050f512d1cb54050e5.hot-update.js": "/chunks/sign-in.97050f512d1cb54050e5.hot-update.js",
|
||||||
|
"/chunks/sign-up.97050f512d1cb54050e5.hot-update.js": "/chunks/sign-up.97050f512d1cb54050e5.hot-update.js",
|
||||||
|
"/chunks/sign-in.cefd2f49aae773f41398.hot-update.js": "/chunks/sign-in.cefd2f49aae773f41398.hot-update.js",
|
||||||
|
"/chunks/sign-up.cefd2f49aae773f41398.hot-update.js": "/chunks/sign-up.cefd2f49aae773f41398.hot-update.js",
|
||||||
|
"/chunks/sign-in.36c70c3c1bbc61ca68dd.hot-update.js": "/chunks/sign-in.36c70c3c1bbc61ca68dd.hot-update.js",
|
||||||
|
"/chunks/sign-up.36c70c3c1bbc61ca68dd.hot-update.js": "/chunks/sign-up.36c70c3c1bbc61ca68dd.hot-update.js",
|
||||||
|
"/chunks/sign-in.efff2e0e5171f34c2f8f.hot-update.js": "/chunks/sign-in.efff2e0e5171f34c2f8f.hot-update.js",
|
||||||
|
"/chunks/sign-up.efff2e0e5171f34c2f8f.hot-update.js": "/chunks/sign-up.efff2e0e5171f34c2f8f.hot-update.js",
|
||||||
|
"/chunks/sign-in.98a761b78ab42ff14941.hot-update.js": "/chunks/sign-in.98a761b78ab42ff14941.hot-update.js",
|
||||||
|
"/chunks/sign-up.98a761b78ab42ff14941.hot-update.js": "/chunks/sign-up.98a761b78ab42ff14941.hot-update.js",
|
||||||
|
"/chunks/sign-in.7aef6f465384f32ba7c9.hot-update.js": "/chunks/sign-in.7aef6f465384f32ba7c9.hot-update.js",
|
||||||
|
"/chunks/sign-up.7aef6f465384f32ba7c9.hot-update.js": "/chunks/sign-up.7aef6f465384f32ba7c9.hot-update.js",
|
||||||
|
"/chunks/sign-in.4b0a3f836f56e339df29.hot-update.js": "/chunks/sign-in.4b0a3f836f56e339df29.hot-update.js",
|
||||||
|
"/chunks/sign-up.4b0a3f836f56e339df29.hot-update.js": "/chunks/sign-up.4b0a3f836f56e339df29.hot-update.js",
|
||||||
|
"/chunks/sign-in.52163406e6127290ecc2.hot-update.js": "/chunks/sign-in.52163406e6127290ecc2.hot-update.js",
|
||||||
|
"/chunks/sign-up.52163406e6127290ecc2.hot-update.js": "/chunks/sign-up.52163406e6127290ecc2.hot-update.js",
|
||||||
|
"/chunks/sign-in.3df06c0e0acf386727ad.hot-update.js": "/chunks/sign-in.3df06c0e0acf386727ad.hot-update.js",
|
||||||
|
"/chunks/sign-up.3df06c0e0acf386727ad.hot-update.js": "/chunks/sign-up.3df06c0e0acf386727ad.hot-update.js",
|
||||||
|
"/chunks/sign-in.b317237cc77803130faa.hot-update.js": "/chunks/sign-in.b317237cc77803130faa.hot-update.js",
|
||||||
|
"/chunks/sign-up.b317237cc77803130faa.hot-update.js": "/chunks/sign-up.b317237cc77803130faa.hot-update.js",
|
||||||
|
"/chunks/sign-in.4be4d187059207a79690.hot-update.js": "/chunks/sign-in.4be4d187059207a79690.hot-update.js",
|
||||||
|
"/chunks/sign-up.4be4d187059207a79690.hot-update.js": "/chunks/sign-up.4be4d187059207a79690.hot-update.js",
|
||||||
|
"/chunks/sign-in.122c25da8d2adf4a7db2.hot-update.js": "/chunks/sign-in.122c25da8d2adf4a7db2.hot-update.js",
|
||||||
|
"/chunks/sign-up.122c25da8d2adf4a7db2.hot-update.js": "/chunks/sign-up.122c25da8d2adf4a7db2.hot-update.js",
|
||||||
|
"/chunks/sign-in.d3f1db61a1ac75d62c67.hot-update.js": "/chunks/sign-in.d3f1db61a1ac75d62c67.hot-update.js",
|
||||||
|
"/chunks/sign-up.d3f1db61a1ac75d62c67.hot-update.js": "/chunks/sign-up.d3f1db61a1ac75d62c67.hot-update.js",
|
||||||
|
"/chunks/sign-in.af5c2279b97771bc1219.hot-update.js": "/chunks/sign-in.af5c2279b97771bc1219.hot-update.js",
|
||||||
|
"/chunks/sign-up.af5c2279b97771bc1219.hot-update.js": "/chunks/sign-up.af5c2279b97771bc1219.hot-update.js",
|
||||||
|
"/chunks/sign-in.c32a4a6966a1237ca44b.hot-update.js": "/chunks/sign-in.c32a4a6966a1237ca44b.hot-update.js",
|
||||||
|
"/chunks/sign-up.c32a4a6966a1237ca44b.hot-update.js": "/chunks/sign-up.c32a4a6966a1237ca44b.hot-update.js",
|
||||||
|
"/chunks/sign-in.fb2d6d90aa8552798587.hot-update.js": "/chunks/sign-in.fb2d6d90aa8552798587.hot-update.js",
|
||||||
|
"/chunks/sign-up.fb2d6d90aa8552798587.hot-update.js": "/chunks/sign-up.fb2d6d90aa8552798587.hot-update.js",
|
||||||
|
"/chunks/sign-in.7f2a3277c00c27b82fcd.hot-update.js": "/chunks/sign-in.7f2a3277c00c27b82fcd.hot-update.js",
|
||||||
|
"/chunks/sign-up.7f2a3277c00c27b82fcd.hot-update.js": "/chunks/sign-up.7f2a3277c00c27b82fcd.hot-update.js",
|
||||||
|
"/chunks/sign-in.943587f179a95cb975d3.hot-update.js": "/chunks/sign-in.943587f179a95cb975d3.hot-update.js",
|
||||||
|
"/chunks/sign-up.943587f179a95cb975d3.hot-update.js": "/chunks/sign-up.943587f179a95cb975d3.hot-update.js",
|
||||||
|
"/chunks/sign-in.35202744542f83806ccf.hot-update.js": "/chunks/sign-in.35202744542f83806ccf.hot-update.js",
|
||||||
|
"/chunks/sign-up.35202744542f83806ccf.hot-update.js": "/chunks/sign-up.35202744542f83806ccf.hot-update.js",
|
||||||
|
"/chunks/sign-in.36fbb8ae11038d8adbd7.hot-update.js": "/chunks/sign-in.36fbb8ae11038d8adbd7.hot-update.js",
|
||||||
|
"/chunks/sign-up.36fbb8ae11038d8adbd7.hot-update.js": "/chunks/sign-up.36fbb8ae11038d8adbd7.hot-update.js",
|
||||||
|
"/chunks/sign-in.72458065f0560c6f74f5.hot-update.js": "/chunks/sign-in.72458065f0560c6f74f5.hot-update.js",
|
||||||
|
"/chunks/sign-up.72458065f0560c6f74f5.hot-update.js": "/chunks/sign-up.72458065f0560c6f74f5.hot-update.js",
|
||||||
|
"/chunks/sign-in.dd026fb79f6349589a5e.hot-update.js": "/chunks/sign-in.dd026fb79f6349589a5e.hot-update.js",
|
||||||
|
"/chunks/sign-up.dd026fb79f6349589a5e.hot-update.js": "/chunks/sign-up.dd026fb79f6349589a5e.hot-update.js",
|
||||||
|
"/chunks/sign-in.9516287e16db16412cdd.hot-update.js": "/chunks/sign-in.9516287e16db16412cdd.hot-update.js",
|
||||||
|
"/chunks/sign-in.091ebba26a8ccb5a5eab.hot-update.js": "/chunks/sign-in.091ebba26a8ccb5a5eab.hot-update.js",
|
||||||
|
"/chunks/sign-in.710ada1eab74f1fdab1a.hot-update.js": "/chunks/sign-in.710ada1eab74f1fdab1a.hot-update.js"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="wrapper">
|
<div class="wrapper flex flex-row w-1/2 ml-2">
|
||||||
<div class="icon-wrapper">
|
<div class="w-1/3 grid justify-items-center items-center cursor-pointer">
|
||||||
<facebook-icon @click="socialite('facebook')" class="icon"/>
|
<facebook-icon @click="socialiteRedirect('facebook')" />
|
||||||
<github-icon @click="socialite('github')" class="icon"/>
|
</div>
|
||||||
<h1 @click="socialite('google')" class="icon">G</h1>
|
|
||||||
|
<div class="w-1/3 grid justify-items-center items-center cursor-pointer">
|
||||||
|
<github-icon @click="socialiteRedirect('github')" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="w-1/3 grid justify-items-center items-center cursor-pointer">
|
||||||
|
<h1 @click="socialiteRedirect('google')">G</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -18,18 +24,11 @@ export default {
|
|||||||
GithubIcon,
|
GithubIcon,
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
socialite(provider) {
|
socialiteRedirect(provider) {
|
||||||
|
|
||||||
this.isLoading = true
|
this.isLoading = true
|
||||||
|
|
||||||
axios
|
this.$store.dispatch('socialiteRedirect', provider)
|
||||||
.get(`/api/socialite/${provider}/redirect`)
|
|
||||||
.then((response) => {
|
|
||||||
if(response.data.url) {
|
|
||||||
window.location.href = response.data.url
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(() => this.$isSomethingWrong())
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,21 +38,7 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
display: flex;
|
margin: 50px auto 0px auto;
|
||||||
justify-content: center;
|
|
||||||
margin: 50px 0px 0px 0px;
|
|
||||||
|
|
||||||
.icon-wrapper {
|
|
||||||
width: 200px;
|
|
||||||
display: flex;
|
|
||||||
align-content: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.icon {
|
|
||||||
align-self: center;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
11
resources/js/store/modules/userAuth.js
vendored
11
resources/js/store/modules/userAuth.js
vendored
@@ -48,6 +48,17 @@ const actions = {
|
|||||||
router.push({name: 'SignIn'})
|
router.push({name: 'SignIn'})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
socialiteRedirect: ({commit}, provider) => {
|
||||||
|
|
||||||
|
axios
|
||||||
|
.get(`/api/socialite/${provider}/redirect`)
|
||||||
|
.then((response) => {
|
||||||
|
if(response.data.url) {
|
||||||
|
window.location.href = response.data.url
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => this.$isSomethingWrong())
|
||||||
|
},
|
||||||
addToFavourites: (context, folder) => {
|
addToFavourites: (context, folder) => {
|
||||||
let addFavourites = []
|
let addFavourites = []
|
||||||
let items = [folder]
|
let items = [folder]
|
||||||
|
|||||||
@@ -237,8 +237,15 @@
|
|||||||
|
|
||||||
this.checkedAccount = response.data
|
this.checkedAccount = response.data
|
||||||
|
|
||||||
// Show sign in password page
|
if(response.data.oauth_provider) {
|
||||||
this.goToAuthPage('sign-in')
|
// Redirect user to socialite login if he's accout is registered by socialite
|
||||||
|
this.$store.dispatch('socialiteRedirect', response.data.oauth_provider)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// Show sign in password page
|
||||||
|
this.goToAuthPage('sign-in')
|
||||||
|
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<PageTab>
|
<PageTab>
|
||||||
<PageTabGroup v-if="! user.data.attributes.socialite_account">
|
<PageTabGroup>
|
||||||
<ValidationObserver ref="password" @submit.prevent="resetPassword" v-slot="{ invalid }" tag="form" class="form block-form">
|
<ValidationObserver ref="password" @submit.prevent="resetPassword" v-slot="{ invalid }" tag="form" class="form block-form">
|
||||||
<FormLabel>{{ $t('user_password.title') }}</FormLabel>
|
<FormLabel>{{ $t('user_password.title') }}</FormLabel>
|
||||||
<div class="block-wrapper">
|
<div class="block-wrapper">
|
||||||
|
|||||||
@@ -37,8 +37,9 @@ class CreateNewUserAction extends Controller
|
|||||||
|
|
||||||
// Create user
|
// Create user
|
||||||
$user = User::create([
|
$user = User::create([
|
||||||
'password' => ! $socialite_auth ? bcrypt($data['password']) : null,
|
'password' => ! $socialite_auth ? bcrypt($data['password']) : null,
|
||||||
'email' => $data['email'],
|
'oauth_provider' => $socialite_auth ? $data->oauth_provider : null,
|
||||||
|
'email' => $data['email'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// Mark as verified if verification is disabled
|
// Mark as verified if verification is disabled
|
||||||
|
|||||||
@@ -22,9 +22,10 @@ class CheckAccountController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'name' => $user->settings->name,
|
'name' => $user->settings->name,
|
||||||
'avatar' => $user->settings->avatar,
|
'avatar' => $user->settings->avatar,
|
||||||
'verified' => $user->email_verified_at ? 1 : 0,
|
'verified' => $user->email_verified_at ? 1 : 0,
|
||||||
|
'oauth_provider' => $user->password ? null : $user->oauth_provider,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class SocialiteAuthenticationController extends Controller
|
|||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'url' => $url
|
'url' => $url
|
||||||
]);
|
], 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function callback($provider)
|
public function callback($provider)
|
||||||
@@ -38,7 +38,10 @@ class SocialiteAuthenticationController extends Controller
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Add user avatar from socialite
|
// Add user avatar from socialite
|
||||||
$provider_user->avatar = get_socialite_avatar($provider_user->avatar);
|
$provider_user->avatar = store_socialite_avatar($provider_user->avatar);
|
||||||
|
|
||||||
|
// Add provider name
|
||||||
|
$provider_user->oauth_provider = $provider;
|
||||||
|
|
||||||
// Create User
|
// Create User
|
||||||
($this->createNewUser)($provider_user);
|
($this->createNewUser)($provider_user);
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ class User extends Authenticatable implements MustVerifyEmail
|
|||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'email',
|
'email',
|
||||||
'password',
|
'password',
|
||||||
|
'oauth_provider',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $hidden = [
|
protected $hidden = [
|
||||||
|
|||||||
@@ -344,14 +344,7 @@ if (! function_exists('store_avatar')) {
|
|||||||
$intervention = Image::make($image->getRealPath());
|
$intervention = Image::make($image->getRealPath());
|
||||||
|
|
||||||
// Generate avatar sizes
|
// Generate avatar sizes
|
||||||
collect(config('vuefilemanager.avatar_sizes'))
|
generate_avatar_thumbnails($intervention, $avatar_name);
|
||||||
->each(function ($size) use ($intervention, $avatar_name) {
|
|
||||||
// fit thumbnail
|
|
||||||
$intervention->fit($size['size'], $size['size'])->stream();
|
|
||||||
|
|
||||||
// Store thumbnail to disk
|
|
||||||
Storage::put("avatars/{$size['name']}-{$avatar_name}", $intervention);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Return path to image
|
// Return path to image
|
||||||
return $avatar_name;
|
return $avatar_name;
|
||||||
@@ -1017,30 +1010,40 @@ if(! function_exists('get_socialite_avatar')) {
|
|||||||
/**
|
/**
|
||||||
* Get socialite avatar create and store his thumbnails
|
* Get socialite avatar create and store his thumbnails
|
||||||
*/
|
*/
|
||||||
function get_socialite_avatar($avatar)
|
function store_socialite_avatar($avatar)
|
||||||
{
|
{
|
||||||
$image = file_get_contents($avatar);
|
$image = file_get_contents($avatar);
|
||||||
|
|
||||||
// Generate avatar name
|
// Generate avatar name
|
||||||
$avatar_name = Str::uuid() . '.jpg';
|
$avatar_name = Str::uuid() . '.jpg';
|
||||||
|
|
||||||
// Create intervention image
|
// Create intervention image
|
||||||
$intervention = Image::make($image);
|
$intervention = Image::make($image);
|
||||||
|
|
||||||
// Generate avatar sizes
|
// Generate avatar sizes
|
||||||
collect(config('vuefilemanager.avatar_sizes'))
|
generate_avatar_thumbnails($intervention, $avatar_name);
|
||||||
->each(function ($size) use ($intervention, $avatar_name) {
|
|
||||||
|
|
||||||
// fit thumbnail
|
// Return name of image
|
||||||
$intervention->fit($size['size'], $size['size'])->stream();
|
return $avatar_name;
|
||||||
|
|
||||||
// Store thumbnail to disk
|
|
||||||
Storage::put("avatars/{$size['name']}-{$avatar_name}", $intervention);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Return path to image
|
|
||||||
return $avatar_name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(! function_exists('generate_avatar_thumbnails')) {
|
||||||
|
/**
|
||||||
|
* Create avatar thumbnails
|
||||||
|
*/
|
||||||
|
function generate_avatar_thumbnails($intervention, $avatar_name)
|
||||||
|
{
|
||||||
|
collect(config('vuefilemanager.avatar_sizes'))
|
||||||
|
->each(function ($size) use ($intervention, $avatar_name) {
|
||||||
|
|
||||||
|
// fit thumbnail
|
||||||
|
$intervention->fit($size['size'], $size['size'])->stream();
|
||||||
|
|
||||||
|
// Store thumbnail to disk
|
||||||
|
Storage::put("avatars/{$size['name']}-{$avatar_name}", $intervention);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,21 @@ class UserAccountTest extends TestCase
|
|||||||
Storage::disk('local')
|
Storage::disk('local')
|
||||||
->assertExists('files/' . User::first()->id);
|
->assertExists('files/' . User::first()->id);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_socialite_redirect()
|
||||||
|
{
|
||||||
|
$response = $this->call('GET', 'api/socialite/google/redirect');
|
||||||
|
|
||||||
|
$this->assertStringContainsString('accounts.google.com/o/oauth2/auth', $response['url']);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function it_socialite_callback()
|
||||||
|
{
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* todo: finish test
|
* todo: finish test
|
||||||
*/
|
*/
|
||||||
@@ -146,6 +161,7 @@ class UserAccountTest extends TestCase
|
|||||||
'email' => $user->email,
|
'email' => $user->email,
|
||||||
'role' => $user->role,
|
'role' => $user->role,
|
||||||
'two_factor_authentication' => false,
|
'two_factor_authentication' => false,
|
||||||
|
'socialite_account' => false,
|
||||||
'folders' => [],
|
'folders' => [],
|
||||||
'storage' => [
|
'storage' => [
|
||||||
'used' => 0,
|
'used' => 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user