Commit Graph

84 Commits

Author SHA1 Message Date
TheCactusBlue
952aa78981 fix 2025-03-25 12:02:36 -07:00
CactusBlue
1ffd1e3e5b
User permissions (#573)
<!-- ELLIPSIS_HIDDEN -->


> [!IMPORTANT]
> Adds user permissions management, including models, API endpoints, and
tests, alongside existing team permissions.
> 
>   - **Behavior**:
> - Adds user permissions alongside team permissions, allowing for
user-specific permission management.
> - Introduces `ProjectUserDirectPermission` model in `schema.prisma`
for direct user permissions.
>     - Updates `PermissionScope` enum from `GLOBAL` to `USER`.
>   - **API**:
> - Adds CRUD endpoints for user permissions in `user-permissions` and
`user-permission-definitions`.
> - Updates existing team permission endpoints to support user
permissions.
>   - **Tests**:
> - Adds e2e tests for user permissions in `user-permissions.test.ts`
and `user-permission-definitions.test.ts`.
> - Updates existing tests to include user permissions where applicable.
>   - **Misc**:
> - Updates `adminInterface.ts` and `server-app-impl.ts` to handle user
permissions.
> - Modifies `known-errors.tsx` to include `UserPermissionRequired`
error.
> - Adjusts `project-configs` and `projects` to include user default
permissions.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 8b73e668e2. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->
2025-03-25 02:20:53 +01:00
Konsti Wohlwend
a99b04ac6c
Anonymous users (#566) 2025-03-20 18:24:19 -07:00
devin-ai-integration[bot]
0e3f63d2ac
Add CLI authentication endpoints (#503)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: TheCactusBlue <thecactusblue@gmail.com>
2025-03-12 18:44:33 -07:00
Moritz Schneider
6776af30fd
Active Sessions Page (#528)
<img width="1443" alt="image"
src="https://github.com/user-attachments/assets/611ede72-4d46-41dc-adea-9546c04b199a"
/>

Adds new active sessions page to settings

<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Adds an active sessions page to settings, enabling users to view and
manage their sessions, with backend support for session listing and
deletion.
> 
>   - **Active Sessions Page**:
> - Adds `ActiveSessionsPage` component in `account-settings.tsx` to
display active sessions.
> - Allows revoking individual sessions or all sessions except the
current one.
>   - **Backend Changes**:
> - Adds `sessionsCrudHandlers` in `crud.tsx` for session management
(list, delete).
> - Updates `ProjectUserRefreshToken` model in `schema.prisma` to
include `id` and `isImpersonation` fields.
> - Implements session listing and deletion in `serverInterface.ts` and
`client-app-impl.ts`.
>   - **Error Handling**:
> - Introduces `CannotDeleteCurrentSession` error in `known-errors.tsx`.
>   - **Testing**:
> - Adds tests for session management in
`endpoints/api/v1/auth/sessions` tests.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for ba78df0928. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: TheCactusBlue <thecactusblue@gmail.com>
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-12 22:35:32 +01:00
CactusBlue
ef6248dd87
Option for merging/blocking account creations with same email but different oauth provider (#502)
* Add SettingSelect component and sign-up mode configuration

* update schema

* update schema

* add merge oauth schema fields

* update test snapshots

* reformat the file

* add mergeOauthMethods in the UI

* Improve documentation with minor enhancements and fixes (#466)

* Improve PATCH /users/me performance

* Neon domain (#488)

* React setup docs (#491)

* chore: update package versions

* Update branding from Stack to Stack Auth in documentation (#504)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: zai@stack-auth.com <zai@stack-auth.com>

* Improve inner OAuth cookie error description

* Fix tests

* Add several spans

* Fix Next.js navigation

* chore: update package versions

* add handler config

* Fix conditional hooks in account settings page

* Add `pnpm run claude-code`

* Fixed docs image ratio (#507)

* Documentation Updates (#508)

* add links

* moar

* fix broken links

* fixed images

* updated readme

* Add Python SDK tab to docs

* Fix broken links

* Prefix `pnpm pre` before `pnpm dev`

* Automatically update pull request branches (#509)

* Give PR updater more permissions

* Ignore PR merge conflicts in GH Actions

* [DEVIN: Konsti] Add userCount property to Project table with automatic update trigger (#506)

Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>

* chore: update package versions

* rewrite as toMatchobject

* fix test

* test again

* fix

* update claude

* fix migrations

* fix migration

* fix types

* Update CLAUDE.md

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>

* more instructions

* fix

* what was i on

* wew

* factor things

* correct the flow

* Update apps/backend/src/app/api/latest/auth/oauth/callback/[provider_id]/route.tsx

Very good catch

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* rename everything

* fix more

* fix typeerror

* update all the tests

* modify migration for legacy projects

* add loading state

* enable email verification for tests

* update test

* get a failing test

* the test works now

* remove debug console log

* change error

* no lowercase

* use typedToUpper/Lowercase

* capture err

* fix types

* modify error throw

* fixed

* add working tests

* documentation update

* Update apps/e2e/tests/backend/endpoints/api/v1/auth/oauth/merge-strategy.test.ts

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* remove eslint rule

* fix json args

* documentation update

---------

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
Co-authored-by: Zai Shi <zaishi00@outlook.com>
Co-authored-by: zai@stack-auth.com <zai@stack-auth.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-10 21:25:12 +00:00
Chenalejandro
8211642e2d
fixing env variable name and its description (#511)
Co-authored-by: alejandro <alejandro@localhost.localdomain>
2025-03-10 18:50:17 +01:00
devin-ai-integration[bot]
271ea9b175
[DEVIN: Konsti] Add userCount property to Project table with automatic update trigger (#506)
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
2025-03-05 09:27:40 -08:00
devin-ai-integration[bot]
46f388342e
Make Project description field non-nullable (#483)
Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>
2025-02-27 11:32:29 -08:00
CactusBlue
b48172e337
Add cascade to sentEmail (#463)
* add delete cascade

* add cascade to both
2025-02-25 12:14:01 -08:00
CactusBlue
23497e5303
Log emails into database (#455)
* log email send into database

* update the model

* rename models

* properly wrap everything

* migrate

* remove password from logging

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-02-21 10:07:18 -08:00
Konstantin Wohlwend
fbbec19cbd Auto-format Prisma files on save 2025-02-20 17:57:16 -08:00
Konstantin Wohlwend
354adeb1b5 Add several Postgres indices 2025-02-14 09:55:24 -08:00
Zai Shi
a444e13342
Local emulator fixes (#437) 2025-02-14 02:02:24 +01:00
Zai Shi
e9f8704934 updated email password for local emulator 2025-02-13 11:24:49 -08:00
Zai Shi
e55b42f848
Local emulator (#422) 2025-02-13 18:57:02 +01:00
Zai Shi
9d21b9df16 fixed seed script docker 2025-02-08 15:48:43 -08:00
Konsti Wohlwend
f2f1b9df82
Tenancies (#418)
Co-authored-by: Zai Shi <zaishi00@outlook.com>
2025-02-07 22:54:04 -08:00
Konsti Wohlwend
cf95bb707f
Raw project query (#382) 2024-12-28 11:47:09 -08:00
Konstantin Wohlwend
b46bdc8f04 Fix STACK-BACKEND-5K 2024-12-23 19:16:24 -08:00
Konstantin Wohlwend
415dc2df42 Remove empty profile image strings from database 2024-12-23 13:08:36 -08:00
CactusBlue
cd35e8cdc4
Dashboard Metrics (#361)
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-12-22 12:02:21 -08:00
Zai Shi
63a37774b7 added index to events 2024-12-19 19:40:22 -08:00
Zai Shi
c69307039d
Added run docker github actions (#369)
Some checks failed
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
Docker Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Test / docker (push) Has been cancelled
Runs E2E API Tests / build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (22.x) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
2024-12-15 01:21:18 +01:00
Zai Shi
13279dfe56 fixed accelerate and docker 2024-12-14 11:39:04 -08:00
Zai Shi
daaf3f53ce
Added Prisma Accelerate (#363) 2024-12-10 22:07:39 +01:00
Zai Shi
55a6309277 updated self host vars, reduced the number of required env vars 2024-12-08 16:29:08 -08:00
Konsti Wohlwend
22676c563b
Neon project provision (#358) 2024-12-08 11:44:35 -08:00
Zai Shi
21e45c89b2 fixed env vars
Some checks failed
Docker Build and Push / Docker Build and Push Server (push) Has been cancelled
Runs E2E API Tests / build (20.x) (push) Has been cancelled
Runs E2E API Tests / build (22.x) (push) Has been cancelled
Lint & build / lint_and_build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (22.x) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
2024-12-07 11:19:55 -08:00
Konstantin Wohlwend
9b2899e5f2 Update seed script variable names 2024-12-07 10:36:52 -08:00
Zai Shi
d5d28b2dd1
Merge seed scripts (#354) 2024-12-03 16:53:17 +01:00
Zai Shi
918f205bd9
Self-host docker (#353) 2024-12-01 15:57:51 +01:00
Konsti Wohlwend
cec718f542
Identity Provider/External OAuth (#323)
Co-authored-by: moritz <moritsch@student.ethz.ch>
2024-11-30 23:27:55 -08:00
Konstantin Wohlwend
c1b8601341 Advanced team invitations 2024-11-26 17:12:57 +01:00
Konsti Wohlwend
3b18f09ec7
Log geoip information with events (#344) 2024-11-17 18:07:36 +01:00
Zai Shi
fd8d166e04
Query/filtering with list users endpoint (#314) 2024-10-30 02:16:39 +01:00
Moritz Schneider
93a1fcf7cb
Passkey support (#321)
* passkeys

* add passkey tests

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-10-28 16:56:46 -07:00
Zai Shi
95ab828f14
removed client id unique constraint (#299) 2024-10-13 22:29:34 +02:00
Zai Shi
a785d47417
Project specific JWKs (#293)
* added per project signing

* added well-known/jwks.json

* fixed bugs

* fixed bugs

* fixed tests

* fixed not found error
2024-10-07 21:27:55 +02:00
Zai Shi
28c3f57f31
New contact channels (#287)
* removed contact channels from otp

* fixed types

* fixed bugs

* fixed bug

* fixed bugs

* updated user contact channel

* updated tests

* updated tests

* added unique key to otp and password auth

* removed contact channel from user object
2024-10-01 06:22:12 +02:00
Zai Shi
06fcca6fe6
OTP (#263)
* fixed otp send email template

* added version

* added send response type

* updated email template

* added otp email

* added otp page

* fixed bugs

* fixed bugs, added back button on otp page

* otp works

* added max attempts per nonce code

* fixed error return type

* fixed tests

* fixed bugs

* updated button text

* added tests

* added totp code error handling

* removed console.log

* fixed verification code length

* fixed code length

* moved otp inside magic link sign in component

* changed version back, updated ui wording

* added old version otp email tests

* fixed tests
2024-09-24 20:02:06 +02:00
Zai Shi
3c20bf609f remove slack oauth, allow no email in oauth 2024-09-19 16:35:17 -07:00
Manoj Kumar
c4ae4fc4ed
feat: Add twitter oauth provider (#206)
* add twitter oauth

* add slack oauth

* add emailVerified field

* twitter -> x

* fixed x user info

* add slack authed user type & fix token set

* fix endpoint

* fix slack button

* fix slack oauth

* Fix merge conflicts

* merge dev

* fix merge conflicts

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2024-09-20 01:28:58 +02:00
Zai Shi
36a4edd93a
Added client side account deletion, team ids in user delete webhooks, and updated account setting UI design (#257)
* added user delete team relation webhook

* added delete account setting

* added translations

* updated translation

* added account delete button and functions

* added center to sidebar layout

* added new section layout

* updated sections

* updated styles

* updated setting styles

* improved account settings

* fixed account delete

* added tests

* fixed tests
2024-09-18 06:27:36 +02:00
Zai Shi
f8258af7aa
Apple OAuth (#250)
Some checks failed
Runs E2E API Tests / build (20.x) (push) Has been cancelled
Runs E2E API Tests / build (22.x) (push) Has been cancelled
Lint & build / lint_and_build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (22.x) (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
* added apple oauth

* fixed oauth callback

* removed unused

* added apple icon

* fixed bugs

* fixed apple oauth

* added id token, apple login works

* fixed facebook

* removed no pkce for apple

* fixed mock oauth
2024-09-15 02:50:06 +02:00
Zai Shi
5977262329
Added Linkedin OAuth (#249)
Co-authored-by: Manoj Kumar <ms8460149@gmail.com>
2024-09-14 22:49:26 +02:00
Zai Shi
c8c6a3f460 added password auth unique key migration 2024-09-12 11:55:28 -07:00
Zai Shi
84e30eead0
Remove shared Facebook (#238)
* removed facebook shared

* updated test

* added migration file

* facebook enabled var

* fixed migration file

* fixed connected account migration file
2024-09-11 02:25:18 +02:00
Zai Shi
5bd08de6ed
fixed project deletion (#236) 2024-09-09 22:36:55 +02:00
Zai Shi
57a33b2dd6
Query optimization (#230)
* removed v1 api

* added new database schema

* fixed small problems

* fixed import errors

* fixed small problems in schema

* fixed missing metadata

* fixed totp db

* updated user

* added check auth data, updated cc primary

* added user update

* added comments

* updated project create

* fixed bugs

* updated seed script

* updated verification code handler

* updated sign in

* updated imports

* updated projects

* updated sign in route

* remove credential and magic link fields from ProjectConfig model

* fixed type bugs

* updated otp sign-in

* fixed seed script

* fixed password update

* updated credential and magic link enable

* fixed projects credential and magic link

* fixed oauth provider update

* added otp and password config update

* fixed db fkey

* fixed circular dependency

* fixed seeding

* fixed auth method fkey constraint

* password type => identifierType

* fixed seed

* fixed bugs

* fixed circular import

* deterministic auth methods order

* fixed bug

* fixed credential enabled default

* fixed bugs

* fixed credential enabled update bug

* updated tests

* fixed small bugs

* fixed connected account bugs

* updated test

* fixed password update bug

* fixed bug

* fixed tests

* fixed redirect bugs

* added migration file

* Update migration SQL

* Fix stuff

* improved get user speed

* fixed crud, improved smart-request

* improved smart request further

* improved smart request

* added prisma preview features

* fixed smart request

* fixed prisma

* added otel

* fixed bugs

* fixed small problem

* added jaeger and delay

* fixed small things

* updated parse auth structure

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-09-08 01:28:20 +02:00