Password self-registration is on by default (ENABLE_ACCOUNT_REGISTRATION). /user/create/ issues tokens and needs_checkout, and the web sign-up page already redirects into Stripe Checkout.
Browser SSO stays off (ENABLE_SSO, default false). Live Google and Microsoft client ids stay available for Drive linking, but public settings no longer advertise them, and login/signup OAuth start and callback are rejected.
Stripe path checked before this change: Checkout builds a subscription session (Founders at $10/month, or STRIPE_PRICE_ID), stores a draft invoice, and signed checkout.session.completed / invoice.paid webhooks grant the plan. Checkout, webhook, portal, registration, and OAuth tests passed.
Deploy note
If chat_backend_prod.env or chat_backend_beta.env on the control node still sets ENABLE_ACCOUNT_REGISTRATION=false, that line overrides this default. Set it to true or remove it, and leave ENABLE_SSO unset or false.
Test plan
GET /api/public/settings/ returns enable_account_registration: true and oauth.google / oauth.microsoft false.
Sign-up form creates an account and redirects to Stripe Checkout. No Google or Microsoft button.
Checkout success grants the Founders plan after the webhook.
/api/auth/oauth/google/start/?intent=signup returns 403. Drive connect still starts.
## Summary
- Closes #80.
- Password self-registration is on by default (`ENABLE_ACCOUNT_REGISTRATION`). `/user/create/` issues tokens and `needs_checkout`, and the web sign-up page already redirects into Stripe Checkout.
- Browser SSO stays off (`ENABLE_SSO`, default false). Live Google and Microsoft client ids stay available for Drive linking, but public settings no longer advertise them, and login/signup OAuth start and callback are rejected.
Stripe path checked before this change: Checkout builds a subscription session (Founders at $10/month, or `STRIPE_PRICE_ID`), stores a draft invoice, and signed `checkout.session.completed` / `invoice.paid` webhooks grant the plan. Checkout, webhook, portal, registration, and OAuth tests passed.
## Deploy note
If `chat_backend_prod.env` or `chat_backend_beta.env` on the control node still sets `ENABLE_ACCOUNT_REGISTRATION=false`, that line overrides this default. Set it to `true` or remove it, and leave `ENABLE_SSO` unset or `false`.
## Test plan
- [ ] `GET /api/public/settings/` returns `enable_account_registration: true` and `oauth.google` / `oauth.microsoft` false.
- [ ] Sign-up form creates an account and redirects to Stripe Checkout. No Google or Microsoft button.
- [ ] Checkout success grants the Founders plan after the webhook.
- [ ] `/api/auth/oauth/google/start/?intent=signup` returns 403. Drive connect still starts.
- [ ] Setting `ENABLE_ACCOUNT_REGISTRATION=false` closes `/user/create/` again.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
ENABLE_ACCOUNT_REGISTRATION)./user/create/issues tokens andneeds_checkout, and the web sign-up page already redirects into Stripe Checkout.ENABLE_SSO, default false). Live Google and Microsoft client ids stay available for Drive linking, but public settings no longer advertise them, and login/signup OAuth start and callback are rejected.Stripe path checked before this change: Checkout builds a subscription session (Founders at $10/month, or
STRIPE_PRICE_ID), stores a draft invoice, and signedcheckout.session.completed/invoice.paidwebhooks grant the plan. Checkout, webhook, portal, registration, and OAuth tests passed.Deploy note
If
chat_backend_prod.envorchat_backend_beta.envon the control node still setsENABLE_ACCOUNT_REGISTRATION=false, that line overrides this default. Set it totrueor remove it, and leaveENABLE_SSOunset orfalse.Test plan
GET /api/public/settings/returnsenable_account_registration: trueandoauth.google/oauth.microsoftfalse./api/auth/oauth/google/start/?intent=signupreturns 403. Drive connect still starts.ENABLE_ACCOUNT_REGISTRATION=falsecloses/user/create/again.