Commit Graph

22 Commits

Author SHA1 Message Date
Zai Shi
c28e4a636f
Handle OAuth consent_required error (#685)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Handle `consent_required` error in OAuth flow and update error message
in `ErrorPage`.
> 
>   - **Behavior**:
> - Handle `consent_required` error in `OAuthBaseProvider` in `base.tsx`
by throwing `KnownErrors.OAuthProviderAccessDenied()`.
> - Update error message in `ErrorPage` in `error-page.tsx` to reflect
both cancellation and denial scenarios.
>   - **Misc**:
> - Minor text change in `ErrorPage` to improve clarity of the error
message.
> 
> <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 e2aa5a4027. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->
2025-05-15 23:09:27 +02:00
Konstantin Wohlwend
8717a70adc No more instanceof KnownError 2025-05-15 12:13:19 -07:00
Htoo Pyae Lwin
a768174753
fix: auth page flash message (#628)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

Fixes https://github.com/stack-auth/stack-auth/issues/625

<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Fixes flash message display by consolidating redirection logic in
`Inner` function of `auth-page.tsx`.
> 
>   - **Behavior**:
> - Consolidates conditions for automatic redirection in `Inner`
function of `auth-page.tsx` to ensure correct flash message display.
> - Adds check for `!props.automaticRedirect` when rendering
`PredefinedMessageCard` for signed-in users.
>   - **Formatting**:
>     - Removes unnecessary whitespace in `Inner` function.
>     - Adds space before self-closing tags in `Inner` function.
> 
> <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 8162ea2f9c. It will automatically
update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->
2025-05-08 01:12:48 +02:00
similiarity
3514853d7c
fix error on teams page and improve text when display name not set (#661)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Fix error on teams page by checking project config and improve display
name handling in `team-member-list-section.tsx`.
> 
>   - **Behavior**:
> - In `team-api-keys-section.tsx`, add `useStackApp` to check
`project.config.allowTeamApiKeys` before rendering API keys section.
> - In `team-member-list-section.tsx`, display "No display name set"
when `teamProfile.displayName` is not available.
>   - **Permissions**:
> - Modify `TeamApiKeysSection` to return `null` if
`manageApiKeysPermission` is false or `teamApiKeysEnabled` is false.
>   - **UI**:
> - Update `MemberListSectionInner` to show italicized, muted text when
display name is missing.
> 
> <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 ad84a474e8. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-05-06 22:28:56 +02:00
Konsti Wohlwend
8d6c6e314b
Revert "Fix/disable forgot password when auth disabled" (#649)
Reverts stack-auth/stack-auth#562
2025-04-25 17:22:23 -07:00
Naresh Kumar
0564d7d81a
Fix/disable forgot password when auth disabled (#562)
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
Docker Emulator Test / docker (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Test / docker (push) Has been cancelled
Runs E2E API Tests / build (22.x) (push) Has been cancelled
Lint & build / lint_and_build (latest) (push) Has been cancelled
Preview Docs / run (push) Has been cancelled
Dev Environment Test / restart-dev-and-test (push) Has been cancelled
Run setup tests / setup-tests (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
This PR addresses the issue where the /handler/forgot-password page
should not be accessible when password authentication is disabled.
Additionally, it improves the redirection behavior when a user is
already logged in.

### Changes:

Added a redirection check in the useEffect hook to ensure that logged-in
users are redirected to the appropriate page instead of staying on the
forgot-password page.

### Fixes:
Closes #292

### Test:
[Screencast from 2025-03-20
22-18-36.webm](https://github.com/user-attachments/assets/d626ba95-9d7f-46e6-b232-0320b171d130)

<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Redirects logged-in users from `ForgotPassword` page and prevents
access when password authentication is disabled.
> 
>   - **Behavior**:
> - Redirects logged-in users from `ForgotPassword` page using
`useEffect` in `forgot-password.tsx`.
> - Prevents access to `ForgotPassword` when password authentication is
disabled.
>   - **Functions**:
>     - Adds `useEffect` hook in `ForgotPassword` to handle redirection.
>   - **Fixes**:
>     - Closes issue #292.
> 
> <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 9c93cb4078. It will automatically
update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2025-04-24 03:19:40 +02:00
Moritz Schneider
18cab1aaa9
UI refactoring (#616)
Some checks failed
all-good: Did all the other checks pass? / all-good (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
Docker Emulator Test / docker (push) Has been cancelled
Docker Server Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Server Test / docker (push) Has been cancelled
Runs E2E API Tests / build (22.x) (push) Has been cancelled
Lint & build / lint_and_build (latest) (push) Has been cancelled
Preview Docs / run (push) Has been cancelled
Dev Environment Test / restart-dev-and-test (push) Has been cancelled
Run setup tests / setup-tests (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
This PR splits the accounts page into multiple files
2025-04-10 19:49:42 +02:00
Moritz Schneider
592d259dde
Api Keys (#590)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<img width="1510" alt="image"
src="https://github.com/user-attachments/assets/99619123-6be5-4788-aebe-5fc2a9a36245"
/>

<img width="1510" alt="image"
src="https://github.com/user-attachments/assets/660677bf-f19a-4673-94c8-59ac50eb6ae5"
/>

<img width="1510" alt="image"
src="https://github.com/user-attachments/assets/11ae63c4-5813-4fd8-aa01-fa580d2103be"
/>


<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Introduces API key management for users and teams, integrating with
existing project configurations and permissions, and adds comprehensive
tests and examples.
> 
>   - **API Key Management**:
> - Introduces `ProjectApiKey` model in `schema.prisma` for managing API
keys.
> - Adds `createApiKeyHandlers` in `handlers.tsx` to handle API key CRUD
operations.
>     - Implements API key creation, revocation, and validation logic.
>   - **Permissions and Configurations**:
> - Adds `allowUserApiKeys` and `allowTeamApiKeys` to `ProjectConfig` in
`schema.prisma`.
> - Updates `TeamSystemPermission` enum to include `MANAGE_API_KEYS`.
> - Ensures API key operations respect project configurations and
user/team permissions.
>   - **Testing and Examples**:
> - Adds extensive tests in `api-keys.test.ts` to cover various API key
scenarios.
>     - Updates example projects to demonstrate API key usage.
>   - **Miscellaneous**:
>     - Refactors existing code to integrate API key functionalities.
> - Updates documentation and type definitions to reflect new API key
features.
> 
> <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 96f60c57f0. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-04-04 13:03:10 -07:00
Zai Shi
392a3f9790
Upgrade oslo to oslojs (#564) 2025-03-26 02:02:03 +01:00
Will Hopkins
544bed266e
add spinner to redirect page (#572)
Adds a spinner to the oauth callback page. Not sure if this is an ideal
solution though, maybe it would be better to just allow customization of
the redirect page contents directly in configuration.
<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Add spinner to `OAuthCallback` in `oauth-callback.tsx` for improved
user feedback during redirection.
> 
>   - **UI Enhancement**:
> - Add `Spinner` to `OAuthCallback` in `oauth-callback.tsx` for visual
feedback during redirection.
> - Replace `MessageCard` with `MaybeFullPage` for better full-page
rendering.
>   - **Layout**:
> - Adjust layout to center spinner and text using `flex` and `cn`
classes.
>     - Maintain existing error and redirect link logic.
> 
> <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 e2c6e56c9c26744ede84d6420b298284ed9da56f. It will automatically
update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2025-03-24 00:55:48 +01:00
Moritz Schneider
970332dc90
don't show password option if not enabled (#555)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Add conditional rendering to `PasswordSection` in
`account-settings.tsx` to hide password option if `credentialEnabled` is
false.
> 
>   - **Behavior**:
> - In `PasswordSection` in `account-settings.tsx`, add a check for
`project.config.credentialEnabled`.
> - If `credentialEnabled` is false, `PasswordSection` returns `null`,
hiding the password option.
> 
> <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 9c65ddb4f9. It will automatically
update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->
2025-03-18 10:02:01 -07:00
Antoine Delplace
217b0161a9
Fix sign in button in forgot password page (#538)
Fix sign in button in forgot password page

<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<!-- ELLIPSIS_HIDDEN -->

----

> [!IMPORTANT]
> Fixes 'Sign in' button link in `forgot-password.tsx` to point to the
correct URL.
> 
>   - **Behavior**:
> - Fixes the 'Sign in' button link in `forgot-password.tsx` to point to
`signIn` URL instead of `signUp`.
>   - **Misc**:
>     - No other changes or additions.
> 
> <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 e6590a1a88. It will automatically
update as commits are pushed.</sup>

<!-- ELLIPSIS_HIDDEN -->

Co-authored-by: Zai Shi <zaishi00@outlook.com>
2025-03-15 02:35:49 +01: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
Zai Shi
ab8b88c747
Add THIS_LINE_PLATFORM macro (#537)
<!--

Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md

-->

<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Add `THIS_LINE_PLATFORM` macro for inline platform-specific comments,
replacing `NEXT_LINE_PLATFORM` across the codebase.
> 
>   - **Macro Addition**:
> - Introduces `THIS_LINE_PLATFORM` macro to replace
`NEXT_LINE_PLATFORM` for inline platform-specific comments.
> - Applied in `stack-handler.tsx`, `link.tsx`, `cookie.ts`, and 10
other files.
>   - **Behavior**:
> - `THIS_LINE_PLATFORM` allows inline comments to specify
platform-specific code inclusion.
>     - Ensures platform-specific code clarity and separation.
>   - **Documentation**:
> - Updated documentation files to use `THIS_LINE_PLATFORM` for
platform-specific sections.
>   - **Scripts**:
> - Updated `processMacros` function in `utils.ts` to handle
`THIS_LINE_PLATFORM`.
>     - Adjusted `generate-docs.ts` to process new macro correctly.
> 
> <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 e3a283aa65. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->
2025-03-13 02:35:17 +01: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
Konstantin Wohlwend
901f43b856 Fix conditional hooks in account settings page 2025-03-04 10:52:21 -08:00
Zai Shi
da1b95ec3b
React SDK (#462) 2025-02-27 01:55:45 +01:00
CactusBlue
dfadf809eb
Implement last logged in button (#453)
* store last used in localstorage

* implement last logged in

* add last badge

* move the lastUsed

* add new schema

* wrong branch, roll it back

* rollback prisma

* fix useeffect deps

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-02-21 10:12:28 -08:00
Konstantin Wohlwend
8b1e93705d Improved Next 15 deprecation warning 2025-02-13 10:56:53 -08:00
CactusBlue
f07e45fe26
Prevent handler from loading in <iframe> (#433)
* initial work

* fixed generate from template watch mode

* add the iframe preventer

* Update packages/template/src/components/iframe-preventer.tsx

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

* Update packages/template/src/components/iframe-preventer.tsx

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

* fixed codegen loop

* Fix codegen (#434)

* Fix errors

* "More sign-in methods available later" info

* Fix loading button indicator positioning

* remove trailing slash for NEXT_PUBLIC_STACK_URL (#432)

* make requested changes

---------

Co-authored-by: Zai Shi <zaishi00@outlook.com>
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-02-12 13:34:03 -08:00
CactusBlue
cc2f230659
squash changes (#406) 2025-02-09 21:54:29 -08:00
Zai Shi
d3cca0b73d
Vanilla JS client library (#408) 2025-02-08 02:31:03 +01:00