console/docs/DEVELOPMENT.md

186 lines
8 KiB
Markdown
Raw Normal View History

2022-05-18 07:26:57 +00:00
# Development
2022-08-17 08:01:42 +00:00
## Prerequisites
Developing Hive locally requires you to have the following software installed locally:
2022-12-21 08:25:00 +00:00
- Node.js 18 LTS (or `nvm` or `fnm`)
2023-08-15 11:28:09 +00:00
- pnpm v8
2022-12-14 11:59:39 +00:00
- Docker
2022-08-17 08:01:42 +00:00
2022-05-18 07:26:57 +00:00
## Setup Instructions
- Clone the repository locally
- Make sure to install the recommended VSCode extensions (defined in `.vscode/extensions.json`)
- In the root of the repo, run `nvm use` to use the same version of node as mentioned
- Create `.env` file in the root, and use the following:
```dotenv
ENVIRONMENT=local
```
- Run `pnpm i` at the root to install all the dependencies and run the hooks
- Run `pnpm local:setup` to run Docker compose dependencies, create databases and migrate database
- Run `pnpm generate` to generate the typings from the graphql files (use `pnpm graphql:generate` if
you only need to run GraphQL Codegen)
- Run `pnpm build` to build all services
2022-05-18 07:26:57 +00:00
- Click on `Start Hive` in the bottom bar of VSCode
- If you are not added to the list of guest users, request access from The Guild maintainers
- Alternatively,
[configure hive to use your own Auth0 Application](#setting-up-auth0-app-for-developing)
2022-08-11 20:10:25 +00:00
- Open the UI (`http://localhost:3000` by default) and Sign in with any of the identity provider
2022-05-18 07:26:57 +00:00
- Once this is done, you should be able to login and use the project
- Once you generate the token against your organization/personal account in hive, the same can be
added locally to `hive.json` within `packages/libraries/cli` which can be used to interact via the
hive cli with the registry
2022-05-18 07:26:57 +00:00
## Development Seed
We have a script to feed your local instance of Hive.
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
1. Use `Start Hive` to run your local Hive instance
2. Make sure `usage` and `usage-ingestor` are running as well (with `pnpm dev`)
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
3. Open Hive app, create a project and a target, then create a token
4. Run the seed script: `TOKEN="MY_TOKEN_HERE" pnpm seed`
5. This should report a dummy schema and some dummy usage data to your local instance of Hive,
allowing you to test features e2e
2022-05-18 07:26:57 +00:00
> Note: You can set `STAGING=1` in order to target staging env and seed a target there. Same for
> development env, you can use `DEV=1`
2022-05-18 07:26:57 +00:00
> Note: You can set `FEDERATION=1` in order to publish multiple subgraphs.
> To send more operations and test heavy load on Hive instance, you can also set `OPERATIONS`
> (amount of operations in each interval round, default is `1`) and `INTERVAL` (frequency of sending
> operations, default: `1000`ms). For example, using `INTERVAL=1000 OPERATIONS=1000` will send 1000
> requests per second.
2022-05-18 07:26:57 +00:00
### Troubleshooting
We recommend the following flow if you are having issues with running Hive locally:
1. Stop all Docker containers: `docker kill $(docker ps -q)`
2. Clear all local Docker environment: `docker system prune --all --force --volumes`
3. Delete all generated local `.env` files: `find . -name '.env' | xargs rm`
2023-02-27 06:45:56 +00:00
4. Delete local `docker/.hive` and `docker/.hive-dev` dir used by Docker volumes.
5. Reinstall dependencies using `pnpm install`
6. Force-generate new `.env` files: `pnpm env:sync --force`
2022-05-18 07:26:57 +00:00
## Publish your first schema (manually)
1. Start Hive locally
2022-08-11 20:10:25 +00:00
2. Create a project and a target
3. Create a token from that target
4. Go to `packages/libraries/cli` and run `pnpm build`
5. Inside `packages/libraries/cli`, run:
`pnpm start schema:publish --token "YOUR_TOKEN_HERE" --registry "http://localhost:4000/graphql" examples/single.graphql`
2022-05-18 07:26:57 +00:00
### Setting up Slack App for developing
1. [Download](https://loophole.cloud/download) Loophole CLI (same as ngrok but supports non-random
urls)
2022-05-18 07:26:57 +00:00
2. Log in to Loophole `$ loophole account login`
3. Start the proxy by running `$ loophole http 3000 --hostname hive-<your-name>` (@kamilkisiela I
use `hive-kamil`). It creates `https://hive-<your-name>.loophole.site` endpoint.
4. Message @kamilkisiela and send him the url (He will update the list of accepted redirect urls in
both Auth0 and Slack App).
2022-05-18 07:26:57 +00:00
5. Update `APP_BASE_URL` and `AUTH0_BASE_URL` in [`packages/web/app/.env`](./packages/web/app/.env)
to the proxy URL (e.g. `https://hive-<your-name>.loophole.site`)
2022-05-18 07:26:57 +00:00
6. Run `packages/web/app` and open `https://hive-<your-name>.loophole.site`.
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
> We have a special Slack channel called `#hive-tests` to not spam people :)
2022-05-18 07:26:57 +00:00
### Setting up GitHub App for developing
New redesign (#4) * New redesign * Use latest nextjs and bob It fixes the start command * fix: text overflow issue in the organization switcher dropdown (#14) * fix: text overflow issue in the organization switcher dropdown * feat: strict children typings * Force dark mode (#15) If somebody used the light mode before, Hive App displays light version of tailwind classes * Fix dev, GH app optional, project type instead of Connected (#16) * Make Github integration optional * Show project type instead of Connected * Fix dev command * Small changes to the version card (#17) * Small changes to the version card * Apply suggestions from code review * Polish (#18) * Make the design a bit more clean * Add a bit of separation * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * fix: do not access properties on potential undefined variable (#33) * fix: renaming not being added during rebase (#32) * feat: add Mutation.createToken validation (#30) * Remove `#` from organization pages, polish subcription page (#34) * Remove `#` from project/target pages (#38) * fix: add missing service names for multi service projects (#35) * Re-design subscription (#40) * Missing list of changes in the schema diff view (#41) * Missing list of changes in the schema diff view Closes #19 * Apply suggestions from code review Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Move titleMap outside of the component Co-authored-by: Dimitri POSTOLOV <en3m@ya.ru> * Blurred fixed header + new `404` page + use `@theguild/prettier-config` (#44) * fix header * make things amazing * Update packages/web/app/pages/404.tsx * fix build * remove unused styles * Add --fix to lint-staged (#43) * Fix access (#45) * Fix access on organization level * Fix access on project level * Fix access on target level * Align with main * Bring back schema view (#49) * Add missing Mark as Valid button (#50) * Update the design of the operations view (#51) * Update doc link Co-authored-by: Dotan Simha <dotansimha@gmail.com> Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Laurin Quast <laurinquast@googlemail.com>
2022-05-24 07:41:53 +00:00
1. Follow the steps above for Slack App
2. Update `Setup URL` in
[GraphQL Hive Development](https://github.com/organizations/the-guild-org/settings/apps/graphql-hive-development)
app and set it to `https://hive-<your-name>.loophole.site/api/github/setup-callback`
2022-08-11 20:10:25 +00:00
### Local OIDC Testing
The `docker-compose.dev.yml` files includes a mock OIDC server that can be used for testing the OIDC
login/logout flow locally. The server tuns on port `7043`.
Please make sure to set the `AUTH_ORGANIZATION_OIDC` environment variables for the `server` and
`app` to `"1"`.
You can use the following values for connecting an integration to an OIDC provider.
```
# Token Endpoint
http://localhost:7043/connect/token
# User Info Endpoint
http://localhost:7043/connect/userinfo
# Authorization Endpoint
http://localhost:7043/connect/authorize
# Client ID
implicit-mock-client
# Client Secret
client-credentials-mock-client-secret
```
For login use the following credentials.
```
# Username
test-user
# Password
password
```
feat: replace auth0 with supertokens (#303) * add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 07:38:31 +00:00
### Run Hive
2022-08-11 20:10:25 +00:00
feat: replace auth0 with supertokens (#303) * add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 07:38:31 +00:00
1. Click on Start Hive in the bottom bar of VSCode
2. Open the UI (`http://localhost:3000` by default) and register any email and password
3. Sending e-mails is mocked out during local development, so in order to verify the account find
the verification link by visiting the email server's `/_history` endpoint -
`http://localhost:6260/_history` by default.
2022-09-15 16:18:56 +00:00
- Searching for `token` should help you find the link.
2022-08-11 20:10:25 +00:00
feat: replace auth0 with supertokens (#303) * add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 07:38:31 +00:00
### Legacy Auth0 Integration
**Note:** If you are not working at The Guild, you can safely ignore this section.
Since we migrated from Auth0 to SuperTokens there is a compatibility layer for importing/migrating
accounts from Auth0 to SuperTokens.
feat: replace auth0 with supertokens (#303) * add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 07:38:31 +00:00
By default, you don't need to set this up and can just use SuperTokens locally. However, if you need
to test some stuff or fix the Auth0 -> SuperTokens migration flow you have to set up some stuff.
2022-08-11 20:10:25 +00:00
1. Create your own Auth0 application
1. If you haven't already, create an account on [manage.auth0.com](https://manage.auth0.com)
2. Create a new application with the following settings:
1. Type: `Regular Web Application`
2. Allowed Callback URLs: `http://localhost:3000/api/callback`
3. Allowed Logout URLs: `http://localhost:3000/`
3. Create two Auth0 users
1. This can be done from the "User Management" page
- [`https://manage.auth0.com/dashboard/<REGION>/<DOMAIN>/users`](https://manage.auth0.com/dashboard/us/dev-azj17nyp/users)
4. Create a new "Rule" in your Auth0 Account
1. This can be done from the "Auth Pipeline -> Rules" section on the left navigation bar.
- [`https://manage.auth0.com/dashboard/<REGION>/<DOMAIN>/rules`](https://manage.auth0.com/dashboard/us/dev-azj17nyp/rules)
2. Enter the following code:
```js
2022-08-11 20:10:25 +00:00
function (user, context, callback) {
const namespace = 'https://graphql-hive.com';
2022-08-11 20:10:25 +00:00
context.accessToken[namespace + '/metadata'] = user.user_metadata;
context.idToken[namespace + '/metadata'] = user.user_metadata;
context.accessToken[namespace + '/userinfo'] = {
user_id: user.user_id,
email: user.email,
username: user.username,
nickname: user.nickname
};
return callback(null, user, context);
}
```
2. Update the `.env` secrets used by your local hive instance that are found when viewing your new
application on Auth0:
feat: replace auth0 with supertokens (#303) * add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 07:38:31 +00:00
- `AUTH_LEGACY_AUTH0` (set this to `1` for enabling the migration.)
- `AUTH_LEGACY_AUTH0_CLIENT_ID` (e.g. `rGSrExtM9sfilpF8kbMULkMNYI2SgXro`)
- `AUTH_LEGACY_AUTH0_CLIENT_SECRET` (e.g.
`gJjNQJsCaOC0nCKTgqWv2wvrh1XXXb-iqzVdn8pi2nSPq2TxxxJ9FIUYbNjheXxx`)
feat: replace auth0 with supertokens (#303) * add supertoken container to docker-compose file * yeah I am sorry this one big commit and I am ashamed of it * use logOut function * feat: show header on 404 page * feat: better handling for organization cookie when not authenticated * wrap it * check session within server side props * add is_admin flag user migration * simplify and annotate the config * fix: handle status codes + fix email/password sign up with import from auth0 * no hardcoded env pls * decode process.env * secure update user id mapping via a key * fix: login form * lol we don't need to hit the API * fix: do graphql api authorization via authorization header instead of cookie * implement isAdmin flag * fix: types :) * skipit * yo we can run this * set env variables * disable because it annoys the hell out of me * use the right host * add not about token length * refactor: decode environment variables * feat: store external user id from guthub/google provider in the database * workaround supertokens omitting null values from the token * re-enable check * i have no time for this shit * add missing env variable * fix: email test; missing domain extension * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com> * configure pulumi deployment Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> * fix: env names * fix: link google account to the correct db record * feat: email confirmation emails * ? * bump ts-node * fix types * omit package form the bundle * remove it from dependencies... * add emails apckage to dev deps * resolve eslint issues * remove comments * update dev info + change env variable (no need to expose it on the frontend) * use correct user id lol Co-authored-by: Kamil Kisiela <kamil.kisiela@gmail.com> Co-authored-by: Dotan Simha <dotansimha@gmail.com>
2022-09-06 07:38:31 +00:00
- `AUTH_LEGACY_AUTH0_ISSUER_BASE_URL`(e.g. `https://foo-bars.us.auth0.com`)
- `AUTH_LEGACY_AUTH0_AUDIENCE` (e.g. `https://foo-bars.us.auth0.com/api/v2/`)