diff --git a/README.md b/README.md index 56aa4b329..a5e681cab 100644 --- a/README.md +++ b/README.md @@ -311,22 +311,27 @@ set in docker-compose.yml file, under services - api - environment ### User/Auth System **First Time Setup** + ([danorlando](https://github.com/danorlando)) The first time you run the application, you should register a new account by clicking the "Sign up" link on the login page. The first account registered will be recieve an admin role. The admin account does not currently have extended functionality, but is valuable should you choose to create an admin dashboard for user management. **Migrating Previous Conversations and Presets to new User Account** + When the first account is registered, the application will automatically migrate any conversations and presets that you created before the user system was implemented to that account. IMPORTANT: if you use login for the first time with a social login account (eg. Google, facebook, etc.), the conversations and presets that you created before the user system was implemented will NOT be migrated to that account. You should register and login with a local account (email and password) for the first time. **OAuth2/Social Login** + The application is setup to support OAuth2/Social Login with Google. All of the code is in place for Facebook login as well, but this has not been tested because the setup process with Facebook was honestly just too painful for me to deal with. I plan to add support for other OAuth2 providers including Github and Discord at a later time. To enable Google login, you must create an application in the [Google Cloud Console](https://cloud.google.com) and provide the client ID and client secret in the [/api/.env](https://github.com/danny-avila/chatgpt-clone/blob/main/api/.env.example) file, then set `VITE_SHOW_GOOGLE_LOGIN_OPTION=true` in the [/client/.env](https://github.com/danny-avila/chatgpt-clone/blob/main/client/.env.example) file. **Email and Password Reset** + Most of the code is in place for sending password reset emails, but is not yet feature-complete as I have not setup an email server to test it. Currently, submitting a password reset request will then display a link with the one-time reset token that can then be used to reset the password. Understanding that this is a considerable security hazard, email integration will be included in the next release. ***Warning*** + If you previously implemented your own user system using the original scaffolding that was provided, you will no longer see conversations and presets by switching to the new user system. This is because of a design flaw in the scaffolding implementation that was problematic for the inclusion of social login. ### Updating diff --git a/api/package.json b/api/package.json index fc54156dc..863e8faa7 100644 --- a/api/package.json +++ b/api/package.json @@ -1,6 +1,6 @@ { "name": "chatgpt-clone", - "version": "0.3.3", + "version": "0.4.0", "description": "", "main": "server/index.js", "scripts": { diff --git a/client/package.json b/client/package.json index c45450b95..96075fe1e 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "chatgpt-clone", - "version": "0.3.3", + "version": "0.4.0", "description": "", "type": "module", "scripts": { diff --git a/package.json b/package.json index d1998dc3c..5dcb9f0dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chatgpt-clone", - "version": "0.3.3", + "version": "0.4.0", "description": "", "scripts": { "e2e": "playwright test --config=e2e/playwright.config.js",