Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RELEASE]: MFA #953

Open
rishabhpoddar opened this issue Mar 12, 2024 · 0 comments
Open

[RELEASE]: MFA #953

rishabhpoddar opened this issue Mar 12, 2024 · 0 comments

Comments

@rishabhpoddar
Copy link
Contributor

rishabhpoddar commented Mar 12, 2024

📅 Checklist

🔶 Staging

Dev Tag

  • supertokens-core:X.Y
    • core
      • check CDI, plugin interface list
      • memory leak test
      • changlog + migration script
      • Should we change the static signing key thing in the core to work with older CDIs as well so that golang / python can also use it without supporting full new CDI? (we need to support it >= 3.0 CDI and edit the CDI spec for those versions)
    • plugin-interface
      • check plugin interface list
    • mysql-plugin
      • check plugin interface list
      • migration script
    • postgresql-plugin
      • check plugin interface list
      • migration script
    • mongodb-plugin
      • check plugin interface list
  • supertokens-node:X.Y
  • supertokens-golang:X.Y
    • check CDI, FDI list
    • sign out returns 401
    • change how fake email is created
    • fix issue with tenant id being passed to update email or password api, session revoke and get session information
  • supertokens-python:X.Y
    • check CDI, FDI list
    • sign out returns 401
    • change how fake email is created
    • fix issue with tenant id being passed to update email or password api, session revoke and get session information
  • supertokens-website:X.Y
  • supertokens-web-js:X.Y
    • check FDI list
    • check web-js interface version
    • Update dependency version of supertokens-website in package.json from npm registry
  • supertokens-auth-react:X.Y
    • check FDI list
    • check web-js interface version
    • Updated dependencies to use supertokens-web-js in package.json from npm registry
    • Various browsers - Safari, Firefox, Chrome, Edge
    • Mobile responsiveness
    • Make sure using with-typescript example that types are correct for every new configs exposed to users
    • Make sure frontend login UI shows even if backend is not working.
  • supertokens-react-native:X.Y
    • check FDI list
  • supertokens-android:X.Y
    • check FDI list
  • supertokens-ios:X.Y
    • check FDI list
  • supertokens-flutter:X.Y
    • check FDI list
  • supertokens-dashboard
    • Tested all items mentioned in this? https://github.com/supertokens/dashboard/blob/master/.github/PULL_REQUEST_TEMPLATE.md
    • Styling issue for when we search, when there are many inputs given
    • Styling issues for when you click the edit button in login method
    • Flickering issue of when hovering on mark as verified / unverified in the login method UI
    • Not able to edit email of a login method for passwordless (and maybe email password too)
    • MFA related changes required for getting first factors. Ideally this is backend only change. If it's a frontend change, it's a new version.
  • Test day with team. Get people in the team to read the docs and implement something with the new feature.
  • Make sure all items in this list are done: TOTP / MFA login discussions #554

Others

  • Example apps in create-supertokens-app CLI
  • Create new mfa example app in create-supertokens-app CLI
  • Update live demo apps (make sure publish job of cli passes)
  • Examples apps in supertokens-auth-react. Rerun PR checklist after updating try.supertokens.com
  • Examples apps in supertokens-web-js
  • Examples apps in supertokens-react-native
  • Examples apps in supertokens-golang
  • Examples apps in supertokens-python
  • Examples apps in supertokens-node. Rerun PR checklist after updating try.supertokens.com
  • Examples apps in android
  • Example apps in ios
  • Example apps in flutter
  • next.js:canary
  • RedwoodJS and playground-auth
  • Run on netlify (and hence AWS lambda) to check if it works fine there
  • Test on vercel (with-emailpassword-vercel app)
  • SuperTokens Jackson SAML example update
  • Supabase docs
  • Capacitor template app: https://github.com/RobSchilderr/capacitor-supertokens-nextjs-turborepo
  • T4 App: https://github.com/timothymiller/t4-app

📚 Documentation (test site)

  • Check the link in docs for storybook
  • All recipe main documentation update
  • Complete full checklist here: MFA docs docs#763
  • Code type checking versions are pointing to X.Y
    • jsEnv
    • goEnv
    • pythonEnv
  • Update table schema in mysql / postgresql section for self hosted
  • community documentation update
  • website changes (test.supertokens.io)
    • homepage
    • pricing page feature list
    • comparison chart in the pricing page
    • product roadmap page
    • Update API key code snippet in SaaS dashboard
    • Update recipe list and links to the docs for supertokens.com dashboard

🔥 Production

💻 NPM and core release

📚 Documentation

  • Pushed to production
  • Post message on discord about new update
  • Updated swaggerhub FDI spec
  • Update frontend-driver-interface repo
  • Updated swaggerhub CDI spec
  • Update core-driver-interface-repo
    • updated version 4.0 to have new boolean for refresh api?
  • Updated dashboard spec on swaggerhub
  • Update dashboard spec
  • Update internal contributing guide to move from previous core version to the latest one
  • Algolia search update for docs
  • robots.txt, sitemap.xml, noindex page update
  • Auto generate release note on github:
    • supertokens-core
    • supertokens-plugin-interface
    • supertokens-mysql-plugin
    • supertokens-postgresql-plugin
    • supertokens-mongodb-plugin
    • supertokens-node
    • supertokens-golang
    • supertokens-python
    • supertokens-website
    • supertokens-web-js
    • supertokens-auth-react
    • supertokens-react-native
    • supertokens-android
    • supertokens-ios
    • supertokens-flutter
    • supertokens-dashboard

Contents of running try.supertokens.com script:

docker run -d \
    --restart=always \
    --name try-supertokens \
    --label name=try-supertokens \
    --label type=session-service \
    --label mode=production \
    --log-driver=awslogs --log-opt awslogs-region=ap-south-1 --log-opt awslogs-group=try-supertokens --log-opt awslogs-stream=try-supertokens \
    -e DISABLE_TELEMETRY=true \
    --publish 9999:3567 \
    supertokens/supertokens-postgresql:6.0

sleep 7

curl --location --request POST 'https://try.supertokens.com/recipe/dashboard/user' \
--header 'rid: dashboard' \
--header 'api-key: <YOUR-API-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{"email": "rishabh@supertokens.com","password": "abcd1234"}'

curl --location --request POST 'https://try.supertokens.com/recipe/dashboard/user' \
--header 'rid: dashboard' \
--header 'api-key: <YOUR-API-KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{"email": "demo@supertokens.com","password": "abcd1234"}'

curl --location --request PUT 'https://try.supertokens.com/recipe/multitenancy/tenant' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tenantId": "tenant1",
    "emailPasswordEnabled": true,
    "thirdPartyEnabled": true,
    "passwordlessEnabled": false
}'

curl --location --request PUT 'https://try.supertokens.com/tenant1/recipe/multitenancy/config/thirdparty' \
--header 'Content-Type: application/json' \
--data-raw '{
  "config": {
    "thirdPartyId": "google-workspaces",
    "name": "Google Workspaces",
    "clients": [
      {
        "clientId": "1060725074195-kmeum4crr01uirfl2op9kd5acmi9jutn.apps.googleusercontent.com",
        "clientSecret": "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",
        "additionalConfig": {
            "hd": "*"
        }
      }
    ]
  }
}'


curl --location --request PUT 'https://try.supertokens.com/recipe/multitenancy/tenant' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tenantId": "tenant2",
    "emailPasswordEnabled": true,
    "thirdPartyEnabled": false,
    "passwordlessEnabled": false
}'

curl --location --request PUT 'https://try.supertokens.com/recipe/multitenancy/tenant' \
--header 'Content-Type: application/json' \
--data-raw '{
    "tenantId": "tenant3",
    "emailPasswordEnabled": false,
    "thirdPartyEnabled": true,
    "passwordlessEnabled": true
}'


curl --location --request PUT 'https://try.supertokens.com/tenant3/recipe/multitenancy/config/thirdparty' \
--header 'Content-Type: application/json' \
--data-raw '{
  "config": {
    "thirdPartyId": "github",
    "name": "GitHub",
    "clients": [
      {
        "clientId": "467101b197249757c71f",
        "clientSecret": "e97051221f4b6426e8fe8d51486396703012f5bd"
      }
    ]
  }
}'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant