diff --git a/docs/account-experience/index.mdx b/docs/account-experience/index.mdx
index d24532535..0a0c31d52 100644
--- a/docs/account-experience/index.mdx
+++ b/docs/account-experience/index.mdx
@@ -20,19 +20,26 @@ The Account Experience can be themed using the Ory Console. Head over to the
[theming settings](https://console.ory.sh/projects/current/account-experience/theming). It is also possible to set a custom logo
and favicon.
-## Welcome Screen
-
-The Account Experience comes with a welcome screen that shows information about the current user's session. As this screen is
-rather meant for debugging purposes, it can be disabled in the [Ory Console](https://console.ory.sh/projects/current/ui).
-
## Translations (i18n) & Message Customization
Currently, the account experience is available in 83 languages. For a full list of available languages please have a look at
[the source](https://github.com/ory/elements/tree/main/packages/elements-react/src/locales). If you want to add a new language or
-fix some wording, please open a pull request in [ory/elements](https://github.com/ory/elements#internalization-i18n). To determine
-the language to use, the Account Experience uses the `Accept-Language` header. If the language is not available, the fallback
-language (English) is used. Custom translations are not supported at the moment, but please reach out if you need this feature.
+fix some wording, please open a pull request in [ory/elements](https://github.com/ory/elements#internalization-i18n).
+
+By default, the Account Experience automatically adapts to the user's language preferences, and offers translations for all
+supported languages. Each language can be enabled or disabled in the Ory Console
+under .
+
+To determine the language to use, the Account Experience uses the `Accept-Language` header. If the language is not available, the
+Default Language (English) is used. To change the default language, go
+to and select your preferred default language.
+
+To turn off automatic language detection, disable **Respect the user's system language preferences** in the Ory Console
+under .
-## Custom Domains
+### Custom locales
-The Account Experience is also available under custom domains the same way it works on the slug URL.
+You can customize any of the existing translations or add your own translations in the Ory Console
+under . Click on the edit icon for the language you want to
+customize, and then modify the messages as needed. Custom translations will override the default translations provided by Ory
+Elements.
diff --git a/docs/concepts/redirects.mdx b/docs/concepts/redirects.mdx
index c77c03f1a..b310d52ff 100644
--- a/docs/concepts/redirects.mdx
+++ b/docs/concepts/redirects.mdx
@@ -33,7 +33,7 @@ The Ory Network has a total of six flows, **Login**, **Registration**, **Verific
which can be configured to redirect back to any URL. A common use case would be to redirect the user to your application home
screen after a logout or to a specific URL on a sub-domain after a settings password update.
-On project creation the redirect flows are by default set to the Ory Account Experience pages.
+By default, the flows always redirect to the Ory Account Experience pages.
### Login, registration, and settings
diff --git a/docs/guides/custom-domains.mdx b/docs/guides/custom-domains.mdx
index 88d76a1e2..9c6d590c3 100644
--- a/docs/guides/custom-domains.mdx
+++ b/docs/guides/custom-domains.mdx
@@ -253,8 +253,8 @@ show "Enabled/Disabled".

-Once active, the Ory Account Experience is reachable at `https:///ui/welcome`. Learn how to configure a custom
-UI: [Bring Your Own UI](../kratos/bring-your-own-ui/configure-ory-to-use-your-ui).
+Once active, the Ory Account Experience is reachable at `https:///login`. Learn how to configure a custom UI:
+[Bring Your Own UI](../kratos/bring-your-own-ui/configure-ory-to-use-your-ui).
You may also remove your custom domain from the Console, but please note that **any requests to it will no longer resolve** once
you do.
diff --git a/docs/identities/get-started/account-recovery.mdx b/docs/identities/get-started/account-recovery.mdx
index 4d784bf97..1c8ff9667 100644
--- a/docs/identities/get-started/account-recovery.mdx
+++ b/docs/identities/get-started/account-recovery.mdx
@@ -92,7 +92,9 @@ feature_flags:
When integrating with the API directly, your applications must send and receive these fields. Refer to the
[API documentation](../../reference/api#tag/frontend/operation/updateRecoveryFlow) for more details.
-When using the built-in Account Experience UI, there is nothing special to do. Otherwise, you need to do some changes.
+When using the built-in Ory Account Experience, no changes are needed in your application code.
+
+If you're using a custom UI, ensure that your recovery forms handle the new fields appropriately:
New fields have been added to the payload when getting and updating the recovery flow that are exclusively used when this feature
flag is enabled:
diff --git a/docs/identities/index.mdx b/docs/identities/index.mdx
index a19eef3c3..8572a9080 100644
--- a/docs/identities/index.mdx
+++ b/docs/identities/index.mdx
@@ -36,8 +36,8 @@ the Ory documentation. Read [more here](../kratos/manage-identities/01_overview.
Identity is a hard problem that Ory Identities solves in a unique way. Ory values security, flexibility, and integration with
cloud technology such as Kubernetes the most:
-- Ory Identities doesn't ship an HTML Rendering Engine. You use the Ory Account Experience available in Ory Network or build your
- own UI in the language and framework you feel most comfortable with.
+- Ory Identities doesn't ship an HTML Rendering Engine. You can use the Ory Account Experience available in Ory Network or build
+ your own UI in the language and framework you feel most comfortable with.
- The workflow engine allows you to fully customize your users' experience. Whether you want users to activate their accounts
after registration, or have a multi-step (progressive) registration process - it's all possible!
- One [identity schema](../kratos/manage-identities/01_overview.mdx) doesn't fit all - you may have customers that need a billing
diff --git a/docs/identities/sign-in/identifier-first-authentication.mdx b/docs/identities/sign-in/identifier-first-authentication.mdx
index 2d9019c04..418bcdb93 100644
--- a/docs/identities/sign-in/identifier-first-authentication.mdx
+++ b/docs/identities/sign-in/identifier-first-authentication.mdx
@@ -22,12 +22,11 @@ To enable it:
- 1. Log in to the [Ory Console](https://console.ory.sh).
- 2. Select your project.
- 3. Navigate to .
-- 4. Enable "Enable Account Experience 2.0 (preview)".
-- 5. Navigate to
-- 6. Click "Apply new UI URLs".
-- 7. Test the flow in your application by navigating to the login page.
+- 4. Disable "Use legacy Hosted UI".
+- 5. Test the flow in your application by navigating to the login page.
-To revert, follow the same steps, disable "New Account Experience", and click "Reset to Account Experience".
+To revert, follow the same steps, enable "Use legacy Hosted UI", and click "Reset to Account Experience" on
+the .
## Self-hosted Ory Kratos
diff --git a/docs/intro.mdx b/docs/intro.mdx
index 730687c53..da27479e1 100644
--- a/docs/intro.mdx
+++ b/docs/intro.mdx
@@ -110,9 +110,8 @@ Ory Console is the management UI of Ory Network.
Ory Account Experience implements screens such as login, registration, account recovery, account setting, and account verification
for fast adoption of Ory.
-Contrary to other vendors, Ory allows you to implement your own (login, registration, ...) UI by offering simple, headless APIs.
-Use the open-source [Ory Elements](https://github.com/ory/elements) components library for fast integration with frameworks like
-ExpressJS, React, or Preact.
+Ory allows you to implement your own authentication UI by offering simple, headless APIs. Use the open-source
+[Ory Elements](https://github.com/ory/elements) components library for fast integration with frameworks like React and Next.js.
### Ory Actions
diff --git a/docs/kratos/bring-your-own-ui/20_configure-ory-to-use-your-ui.mdx b/docs/kratos/bring-your-own-ui/20_configure-ory-to-use-your-ui.mdx
index 2127001f2..0a278e4b1 100644
--- a/docs/kratos/bring-your-own-ui/20_configure-ory-to-use-your-ui.mdx
+++ b/docs/kratos/bring-your-own-ui/20_configure-ory-to-use-your-ui.mdx
@@ -13,9 +13,9 @@ Configuration URL, go to , and copy the
:::
-By default, self-service flows use [Ory Account Experience](./01_overview.mdx#why-should-i-use-ory-account-experience), which is a
-part of every Ory Network project. In the default setup, the system uses relative paths to point to the appropriate UI for every
-screen. The relative links that point to the Ory Account Experience follow the `/ui/{flow_name}` format.
+By default, self-service flows use [Ory Account Experience](./01_overview.mdx#why-should-i-use-ory-account-experience). In the
+default setup, the system uses relative paths to point to the appropriate UI for every screen. The relative links that point to
+the Ory Account Experience follow the `/ui/{flow_name}` format.
## Custom domain setup
diff --git a/docs/oauth2-oidc/identity-provider-integration-settings.mdx b/docs/oauth2-oidc/identity-provider-integration-settings.mdx
index 00e650587..773404522 100644
--- a/docs/oauth2-oidc/identity-provider-integration-settings.mdx
+++ b/docs/oauth2-oidc/identity-provider-integration-settings.mdx
@@ -32,7 +32,7 @@ import TabItem from '@theme/TabItem';
-Go to and `Enable Override Return To` setting.
+Go to and enable the `OAuth2 provider override "return_to` setting.
diff --git a/src/components/ConsoleLink/console-nav-data.ts b/src/components/ConsoleLink/console-nav-data.ts
index e760350c7..d925a9ae8 100644
--- a/src/components/ConsoleLink/console-nav-data.ts
+++ b/src/components/ConsoleLink/console-nav-data.ts
@@ -22,7 +22,7 @@ export const getStartedPaths: Path[] = [
href: routes.project.getStarted.route + "#integrations",
},
{
- title: "Guides and Tutorials",
+ title: "Guides and concepts",
href: routes.project.getStarted.route + "#guides-tutorials",
},
{ title: "Community", href: routes.project.getStarted.route + "#community" },
@@ -31,15 +31,15 @@ export const getStartedPaths: Path[] = [
export const activityPaths: Path[] = [
{ title: "Live", href: routes.project.activity.route },
{
- title: "Logs & Events",
+ title: "Logs & events",
href: routes.project.activity.events.route,
},
{ title: "Sessions", href: routes.project.sessions.list.route },
- { title: "Email delivery", href: routes.project.courierMessages.route },
+ { title: "Message delivery", href: routes.project.courierMessages.route },
]
export const identititesPaths: Path[] = [
- { title: "Users & Identities", href: routes.project.identities.list.route },
+ { title: "Users & identities", href: routes.project.identities.list.route },
{ title: "Identity schema", href: routes.project.identitySchema.route },
{
title: "Import users",
@@ -53,6 +53,10 @@ export const brandingPaths: Path[] = [
title: "Theming",
href: routes.project.accountExperience.theming.route,
},
+ {
+ title: "Localization",
+ href: routes.project.accountExperience.locales.route,
+ },
{
title: "Custom domains",
href: routes.project.cname.route,
@@ -65,6 +69,10 @@ export const brandingPaths: Path[] = [
title: "UI URLs",
href: routes.project.ui.route,
},
+ {
+ title: "Email templates",
+ href: routes.project.emailTemplates.route,
+ },
]
export const authenticationPaths: Path[] = [
@@ -81,17 +89,23 @@ export const authenticationPaths: Path[] = [
href: routes.project.mfa.route,
},
{
- title: "Social Sign-In",
+ title: "Social Sign-In (OIDC)",
href: routes.project.socialSignIn.route,
},
{
- title: "Actions & Webhooks",
- href: routes.project.developers.actions.route,
+ title: "SAML Sign-In",
+ href: routes.project.saml.route,
+ pill: "Preview",
},
{
title: "Enterprise SSO",
href: routes.project.authentication.organizations.route,
},
+
+ {
+ title: "Sessions",
+ href: routes.project.authentication.sessionSettings.route,
+ },
{
title: "Account recovery",
href: routes.project.recovery.route,
@@ -101,39 +115,51 @@ export const authenticationPaths: Path[] = [
href: routes.project.verification.route,
},
{
- title: "Email configuration",
+ title: "Email Configuration",
href: routes.project.emailConfiguration.route,
},
{
- title: "Email templates",
- href: routes.project.emailTemplates.route,
- },
- {
- title: "SMS configuration",
+ title: "SMS Configuration",
href: routes.project.smsConfiguration.route,
},
{
- title: "Sessions",
- href: routes.project.authentication.sessionSettings.route,
+ title: "Actions & Webhooks",
+ href: routes.project.developers.actions.route,
},
]
export const oauthPaths: Path[] = [
{
- title: "Overview",
- href: routes.project.oauthConfiguration.overview.route,
+ title: "Clients and applications",
+ href: routes.project.oauthConfiguration.route,
},
{
- title: "OAuth2 Clients",
- href: routes.project.oauthConfiguration.route,
+ title: "Endpoints",
+ href: routes.project.oauthConfiguration.endpoints.route,
},
{
- title: "Configuration",
+ title: "General",
href: routes.project.oauthConfiguration.configure.route,
},
{
- title: "Identity integration settings",
- href: routes.project.oauthConfiguration.identityIntegration.route,
+ title: "OpenID Connect",
+ href: routes.project.oauthConfiguration.openid.route,
+ },
+ {
+ title: "URLs",
+ href: routes.project.oauthConfiguration.urls.route,
+ },
+ {
+ title: "Lifespans",
+ href: routes.project.oauthConfiguration.lifespans.route,
+ },
+ {
+ title: "Token strategies",
+ href: routes.project.oauthConfiguration.strategies.route,
+ },
+ {
+ title: "Cookies",
+ href: routes.project.oauthConfiguration.cookies.route,
},
]
@@ -217,7 +243,7 @@ export const projectPaths: RootPath[] = [
},
{
title: "OAuth 2",
- href: routes.project.oauthConfiguration.overview.route,
+ href: routes.project.oauthConfiguration.route,
paths: oauthPaths,
},
{
diff --git a/src/components/ConsoleLink/console-routes.ts b/src/components/ConsoleLink/console-routes.ts
index 4b88e26d6..9e4871a02 100644
--- a/src/components/ConsoleLink/console-routes.ts
+++ b/src/components/ConsoleLink/console-routes.ts
@@ -26,6 +26,7 @@ export const routes = {
support: "/support",
account: {
login: "/login",
+ consent: "/oauth2/consent",
recovery: "/recovery",
verification: "/verification",
register: "/registration",
@@ -36,7 +37,6 @@ export const routes = {
onboard: "/get-started",
},
invites: "/invites",
- guides: "/guides",
project: {
activity: {
route: "/projects/[project]/activity",
@@ -57,10 +57,6 @@ export const routes = {
route: "/projects/[project]/developers/actions",
href: (project: string) => `/projects/${project}/developers/actions`,
},
- guides: {
- route: "/projects/[project]/developers/guides",
- href: (project: string) => `/projects/${project}/developers/guides`,
- },
},
list: "/projects",
create: "/projects/create",
@@ -98,12 +94,21 @@ export const routes = {
href: (project: string) => `/projects/${project}/mfa`,
},
recovery: {
- route: "/projects/[project]/recovery",
- href: (project: string) => `/projects/${project}/recovery`,
+ route: "/projects/[project]/authentication/recovery",
+ href: (project: string) => `/projects/${project}/authentication/recovery`,
},
verification: {
- route: "/projects/[project]/verification",
- href: (project: string) => `/projects/${project}/verification`,
+ route: "/projects/[project]/authentication/verification",
+ href: (project: string) =>
+ `/projects/${project}/authentication/verification`,
+ },
+ smsConfiguration: {
+ route: "/projects/[project]/sms-configuration",
+ href: (project: string) => `/projects/${project}/sms-configuration`,
+ },
+ limits: {
+ route: "/projects/[project]/limits",
+ href: (project: string) => `/projects/${project}/limits`,
},
emailConfiguration: {
route: "/projects/[project]/email-configuration",
@@ -113,10 +118,6 @@ export const routes = {
route: "/projects/[project]/email-templates",
href: (project: string) => `/projects/${project}/email-templates`,
},
- smsConfiguration: {
- route: "/projects/[project]/sms-configuration",
- href: (project: string) => `/projects/${project}/sms-configuration`,
- },
sessionSettings: {
route: "/projects/[project]/session-settings",
href: (project: string) => `/projects/${project}/session-settings`,
@@ -172,30 +173,45 @@ export const routes = {
`/projects/${project}/social-signin/${providerId}`,
},
},
+ saml: {
+ route: "/projects/[project]/saml",
+ href: (project: string) => `/projects/${project}/saml`,
+ configureProvider: {
+ route: "/projects/[project]/saml/[provider]",
+ href: (project: string, providerId: string) =>
+ `/projects/${project}/saml/${providerId}`,
+ },
+ },
oauthConfiguration: {
route: "/projects/[project]/oauth",
href: (project: string) => `/projects/${project}/oauth`,
- edit: {
- route: "/projects/[project]/oauth/[client]",
- href: (project: string, client: string) =>
- `/projects/${project}/oauth/${client}`,
- },
- create: {
- route: "/projects/[project]/oauth/create",
- href: (project: string) => `/projects/${project}/oauth/create`,
- },
- overview: {
- route: "/projects/[project]/oauth/overview",
- href: (project: string) => `/projects/${project}/oauth/overview`,
+ endpoints: {
+ route: "/projects/[project]/oauth/endpoints",
+ href: (project: string) => `/projects/${project}/oauth/endpoints`,
},
configure: {
route: "/projects/[project]/oauth/configure",
href: (project: string) => `/projects/${project}/oauth/configure`,
},
- identityIntegration: {
- route: "/projects/[project]/oauth/identity-integration-settings",
- href: (project: string) =>
- `/projects/${project}/oauth/identity-integration-settings`,
+ openid: {
+ route: "/projects/[project]/oauth/openid",
+ href: (project: string) => `/projects/${project}/oauth/openid`,
+ },
+ urls: {
+ route: "/projects/[project]/oauth/urls",
+ href: (project: string) => `/projects/${project}/oauth/urls`,
+ },
+ lifespans: {
+ route: "/projects/[project]/oauth/lifespans",
+ href: (project: string) => `/projects/${project}/oauth/lifespans`,
+ },
+ strategies: {
+ route: "/projects/[project]/oauth/strategies",
+ href: (project: string) => `/projects/${project}/oauth/strategies`,
+ },
+ cookies: {
+ route: "/projects/[project]/oauth/cookies",
+ href: (project: string) => `/projects/${project}/oauth/cookies`,
},
},
courierMessages: {
@@ -214,6 +230,21 @@ export const routes = {
route: "/projects/[project]/account-experience/theming",
href: (project: string) =>
`/projects/${project}/account-experience/theming`,
+ customize: {
+ route: "/projects/[project]/account-experience/theming/customize",
+ href: (project: string) =>
+ `/projects/${project}/account-experience/theming/customize`,
+ },
+ },
+ locales: {
+ route: "/projects/[project]/account-experience/locales",
+ href: (project: string) =>
+ `/projects/${project}/account-experience/locales`,
+ edit: {
+ route: "/projects/[project]/account-experience/locales/[locale]",
+ href: (project: string, locale: string) =>
+ `/projects/${project}/account-experience/locales/${locale}`,
+ },
},
},
authentication: {
@@ -261,16 +292,16 @@ export const routes = {
href: (workspace: string) =>
`/workspaces/${workspace}/settings/members`,
},
- apiKeys: {
- route: "/workspaces/[workspace]/settings/api-keys",
- href: (workspace: string) =>
- `/workspaces/${workspace}/settings/api-keys`,
- },
subscription: {
route: "/workspaces/[workspace]/settings/subscription",
href: (workspace: string) =>
`/workspaces/${workspace}/settings/subscription`,
},
+ apiKeys: {
+ route: "/workspaces/[workspace]/settings/api-keys",
+ href: (workspace: string) =>
+ `/workspaces/${workspace}/settings/api-keys`,
+ },
billing: {
route: "/workspaces/[workspace]/settings/billing",
href: (workspace: string) =>