Skip to content

Adds landing page for Journeys & First Journey #5498

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

Merged
merged 142 commits into from
Aug 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
b8d0c63
Adds landing page for Journeys
emikhasyak-okta May 29, 2025
43993ee
Initial revisions of the first few sections and the addition of the i…
brianduffield-okta Jun 4, 2025
01f0128
added new content on integrator and free trial orgs
brianduffield-okta Jun 4, 2025
d26ad17
Minor updates after further review
brianduffield-okta Jun 4, 2025
3a1b979
Updates as per acrolinx
brianduffield-okta Jun 4, 2025
bbe6fb4
Minor updates as per PM feedback
brianduffield-okta Jun 17, 2025
4b0d705
fix urls
brianduffield-okta Jun 17, 2025
38f105e
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
5a41a4c
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
12edf33
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
b78c4e2
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
f00710e
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
937e138
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
56f17cf
Create app integration guide
janugeethakumari-okta Jun 19, 2025
0d8a4fb
Create app inegration guide
janugeethakumari-okta Jun 23, 2025
95c8b7b
Create app integration guide
janugeethakumari-okta Jun 23, 2025
ed0f5db
Create app integration
janugeethakumari-okta Jun 23, 2025
266955b
Create app integration guide
janugeethakumari-okta Jun 25, 2025
62263ad
Update nav bar
janugeethakumari-okta Jun 25, 2025
3ed9a20
Navbar update
janugeethakumari-okta Jun 25, 2025
b6458f4
Update comments
janugeethakumari-okta Jun 25, 2025
bf4f2ff
Update navbar
janugeethakumari-okta Jun 25, 2025
c784f9d
Update index
janugeethakumari-okta Jun 25, 2025
3897635
Fix formatting
janugeethakumari-okta Jun 25, 2025
8c0b20f
added stacksnippet
janugeethakumari-okta Jun 25, 2025
9dbc3dc
Slacksnippet
janugeethakumari-okta Jun 25, 2025
f93efff
Updates
janugeethakumari-okta Jun 25, 2025
dc93d24
Added Stack snippets
janugeethakumari-okta Jun 25, 2025
2c5e123
Update
janugeethakumari-okta Jun 25, 2025
4db34dd
Addressed PM comments
janugeethakumari-okta Jun 25, 2025
74d591f
Update packages/@okta/vuepress-site/docs/guides/create-an-app-integra…
janugeethakumari-okta Jul 8, 2025
64b4213
OKTA-946184 - Added content on org sign up (#5549)
brianduffield-okta Jul 9, 2025
2248afc
OKTA-946202 OAuth 2.0 token lifecycle concept for OCI (#5554)
vanngo-okta Jul 11, 2025
6a6f1d6
template
susanharper-okta Jun 12, 2025
13ec4c4
outline
susanharper-okta Jun 17, 2025
bff6c2d
intro
susanharper-okta Jun 25, 2025
1f949d0
da concept
susanharper-okta Jul 8, 2025
ceb4ee2
DNav's review
susanharper-okta Jul 10, 2025
358991f
final DNav comments
susanharper-okta Jul 10, 2025
ac754f5
barbara comments
susanharper-okta Jul 11, 2025
0042f1e
Edits to improve acrolinkx score
janugeethakumari-okta Jul 14, 2025
200cef8
Update packages/@okta/vuepress-site/docs/guides/create-an-app-integra…
janugeethakumari-okta Jul 14, 2025
b31606c
OCI guide outline
thomascavanagh-okta Jun 6, 2025
49476ea
OCI guide
thomascavanagh-okta Jun 6, 2025
a63ad5a
Revisions and testing the processes
thomascavanagh-okta Jun 19, 2025
35c2337
Revising the UI instructions
thomascavanagh-okta Jun 24, 2025
489eb22
Revisions for first draft
thomascavanagh-okta Jun 25, 2025
eba0a3f
Acrolinx edits
thomascavanagh-okta Jun 26, 2025
a30cada
SME feedback
thomascavanagh-okta Jul 14, 2025
8648da3
SME feedback
thomascavanagh-okta Jul 16, 2025
4d1d826
Revisions and cleaning up the original guide
thomascavanagh-okta Jul 17, 2025
7416f98
Replace links to old guide with links to new guide
thomascavanagh-okta Jul 17, 2025
a809c67
Fix some links
thomascavanagh-okta Jul 18, 2025
5eefe6f
Acrolinx edits
thomascavanagh-okta Jul 18, 2025
bf2f7f5
Apply suggestions from code review
thomascavanagh-okta Jul 18, 2025
1f4c8fd
Add link to integrator org
thomascavanagh-okta Jul 18, 2025
31ef270
Small acrolinx fix
thomascavanagh-okta Jul 18, 2025
1f40692
Apply suggestions from code review
thomascavanagh-okta Jul 18, 2025
8dd54b5
Add editorial feedback
thomascavanagh-okta Jul 18, 2025
002e3c1
updating URLs
susanharper-okta Jul 22, 2025
0ae12de
move doc to guides
susanharper-okta Jul 22, 2025
21d935c
error in navbar
susanharper-okta Jul 22, 2025
ebd664c
path to guideName
susanharper-okta Jul 22, 2025
44f9876
fixing set up org to be a guide with a main folder and a separate ind…
susanharper-okta Jul 22, 2025
859c1e6
missed one
susanharper-okta Jul 23, 2025
7049362
Acrolinx improvements
thomascavanagh-okta Jul 23, 2025
f5d19ff
Adds landing page for Journeys
emikhasyak-okta May 29, 2025
c0904aa
Initial revisions of the first few sections and the addition of the i…
brianduffield-okta Jun 4, 2025
bcedd84
added new content on integrator and free trial orgs
brianduffield-okta Jun 4, 2025
180ba21
Minor updates after further review
brianduffield-okta Jun 4, 2025
7aaeee8
Updates as per acrolinx
brianduffield-okta Jun 4, 2025
d4554bb
Minor updates as per PM feedback
brianduffield-okta Jun 17, 2025
959b624
fix urls
brianduffield-okta Jun 17, 2025
eccc8ae
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
07d1960
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
83b8244
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
775af7d
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
4688b21
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
a734003
Update packages/@okta/vuepress-site/docs/concepts/okta-organizations/…
brianduffield-okta Jun 17, 2025
72a0250
Create app integration guide
janugeethakumari-okta Jun 19, 2025
3184bdb
Create app inegration guide
janugeethakumari-okta Jun 23, 2025
c9e91c8
Create app integration guide
janugeethakumari-okta Jun 23, 2025
5ac116c
Create app integration
janugeethakumari-okta Jun 23, 2025
69e5eb7
Create app integration guide
janugeethakumari-okta Jun 25, 2025
06c59ea
Update nav bar
janugeethakumari-okta Jun 25, 2025
da1fd68
Navbar update
janugeethakumari-okta Jun 25, 2025
6bc43dc
Update comments
janugeethakumari-okta Jun 25, 2025
0a4b52b
Update navbar
janugeethakumari-okta Jun 25, 2025
d21ff3d
Update index
janugeethakumari-okta Jun 25, 2025
04d7018
Fix formatting
janugeethakumari-okta Jun 25, 2025
fa879a6
added stacksnippet
janugeethakumari-okta Jun 25, 2025
78ee5b2
Slacksnippet
janugeethakumari-okta Jun 25, 2025
ee0c970
Updates
janugeethakumari-okta Jun 25, 2025
795711d
Added Stack snippets
janugeethakumari-okta Jun 25, 2025
5c603fc
Update
janugeethakumari-okta Jun 25, 2025
1616e2a
Addressed PM comments
janugeethakumari-okta Jun 25, 2025
d7a7109
Update packages/@okta/vuepress-site/docs/guides/create-an-app-integra…
janugeethakumari-okta Jul 8, 2025
b7e9b6a
OKTA-946184 - Added content on org sign up (#5549)
brianduffield-okta Jul 9, 2025
b2b38ba
OKTA-946202 OAuth 2.0 token lifecycle concept for OCI (#5554)
vanngo-okta Jul 11, 2025
ba13233
template
susanharper-okta Jun 12, 2025
01b8e44
outline
susanharper-okta Jun 17, 2025
7441c1f
intro
susanharper-okta Jun 25, 2025
314eaef
da concept
susanharper-okta Jul 8, 2025
adadccb
DNav's review
susanharper-okta Jul 10, 2025
c8fffaa
final DNav comments
susanharper-okta Jul 10, 2025
aafdfd6
barbara comments
susanharper-okta Jul 11, 2025
53c2c6a
Edits to improve acrolinkx score
janugeethakumari-okta Jul 14, 2025
2be00ba
Update packages/@okta/vuepress-site/docs/guides/create-an-app-integra…
janugeethakumari-okta Jul 14, 2025
124450b
OCI guide outline
thomascavanagh-okta Jun 6, 2025
a011c3b
OCI guide
thomascavanagh-okta Jun 6, 2025
ea9bbd6
Revisions and testing the processes
thomascavanagh-okta Jun 19, 2025
0ca7e34
Revising the UI instructions
thomascavanagh-okta Jun 24, 2025
07949e4
Revisions for first draft
thomascavanagh-okta Jun 25, 2025
d133207
Acrolinx edits
thomascavanagh-okta Jun 26, 2025
45fdf03
SME feedback
thomascavanagh-okta Jul 14, 2025
c88e45f
SME feedback
thomascavanagh-okta Jul 16, 2025
9054fba
Revisions and cleaning up the original guide
thomascavanagh-okta Jul 17, 2025
28d8169
Replace links to old guide with links to new guide
thomascavanagh-okta Jul 17, 2025
b3933a9
Fix some links
thomascavanagh-okta Jul 18, 2025
872d613
Acrolinx edits
thomascavanagh-okta Jul 18, 2025
62064ea
Apply suggestions from code review
thomascavanagh-okta Jul 18, 2025
9643891
Add link to integrator org
thomascavanagh-okta Jul 18, 2025
40776cf
Small acrolinx fix
thomascavanagh-okta Jul 18, 2025
a17ab66
Apply suggestions from code review
thomascavanagh-okta Jul 18, 2025
bbb1c49
Add editorial feedback
thomascavanagh-okta Jul 18, 2025
2f0bd98
updating URLs
susanharper-okta Jul 22, 2025
433d5be
move doc to guides
susanharper-okta Jul 22, 2025
2022b33
error in navbar
susanharper-okta Jul 22, 2025
21e5741
path to guideName
susanharper-okta Jul 22, 2025
356bf44
fixing set up org to be a guide with a main folder and a separate ind…
susanharper-okta Jul 22, 2025
1a26733
missed one
susanharper-okta Jul 23, 2025
78f9627
OKTA-946234 - Update deployment model concept (#5603)
brianduffield-okta Jul 23, 2025
84630b3
Merge branch 'sdh-okta944607-OCIgettingstarted' into tc-okta-oci-acro…
thomascavanagh-okta Jul 24, 2025
e03a317
Apply suggestions from code review
thomascavanagh-okta Jul 24, 2025
fa15080
Merge pull request #5608 from okta/tc-okta-oci-acrolinx-updates
thomascavanagh-okta Jul 24, 2025
76ca818
acrolinx score fix, P0 landing page, app integration dropdown fix
susanharper-okta Jul 26, 2025
414c44b
dan review comments
susanharper-okta Jul 29, 2025
7739b16
dan marma comment and fixing app integration dropdown
susanharper-okta Jul 29, 2025
7a0b310
graham review on journeys page
susanharper-okta Jul 30, 2025
6807fa5
Update navbar.const.js (#5617)
emikhasyak-okta Aug 5, 2025
ec3c456
link updates
susanharper-okta Aug 5, 2025
8c57498
Merge branch 'master' into sdh-okta944607-OCIgettingstarted
emikhasyak-okta Aug 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ function sanitizeTitle(el) {
if (el.guideName) {
return el.guideName;
}
return el.title.toLowerCase().replace(/ /ig, '-').replace(/\//ig, '-');

if (el.journeyName) {
return el.journeyName;
}
return el.title.toLowerCase().replace(/ /ig, '-').replace(/\//ig, '-').replace(/[()]/g, '');
}

let generatedPages = [];
Expand All @@ -37,36 +41,44 @@ function generatedLinks(arr, parent = null) {
if (arr) {
for (let el of arr) {
if (el) {
if (!el.path && !el.guideName) {
const parentTitle = sanitizeTitle(parent);
let path = '';
if (parentTitle !== 'guides' && parent.path) {
if (!el.path && parent && parent.path) {
const isGuide = !el.guideName && !parent.path.includes('docs/journeys');
const isJourney = !el.journeyName && parent.path.includes('docs/journeys');

if (isGuide || isJourney) {
const parentTitle = sanitizeTitle(parent);
const elTitle = sanitizeTitle(el);
const splittedPath = parent.path.split('/');
if (parent.path.indexOf(parentTitle) >= 0) {
path = parent.path.replace(parentTitle, sanitizeTitle(el));
} else if (parent.path == '/code/') {
path = `/${splittedPath[1]}/${sanitizeTitle(el)}/`;
let path = '';

if ((isGuide && parentTitle !== 'guides') || (isJourney && parentTitle !== 'journeys')) {
if (parent.path.includes(parentTitle)) {
path = parent.path.replace(parentTitle, elTitle);
} else if (parent.path === '/code/') {
path = `/${splittedPath[1]}/${elTitle}/`;
} else {
path = `/${splittedPath[1]}/${splittedPath[2]}/${elTitle}/`;
}
} else {
path = `/${splittedPath[1]}/${splittedPath[2]}/${sanitizeTitle(el)}/`;
path = parent.path + elTitle + "/";
}
} else {
path = parent.path + sanitizeTitle(el) + "/";
}
const page = {
path,
title: el.title,
frontmatter: {}
}
if (el.customLandingPage) {
page.frontmatter.customLandingPage = true;
} else {
page.frontmatter.generated = true;
}
if (el.description) {
page.description = el.description;

const page = {
path,
title: el.title,
frontmatter: {}
}
if (el.customLandingPage) {
page.frontmatter.customLandingPage = true;
} else {
page.frontmatter.generated = true;
}
if (el.description) {
page.description = el.description;
}
generatedPages.push(page);
el.path = path;
}
generatedPages.push(page);
el.path = path;
}
if (!el.path) {
el.path = parent.path + sanitizeTitle(el) + "/";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,89 +3,7 @@ title: Secure your first web app
meta:
- name: description
content: Connect a single-page app to Okta and give it sign-in functionality.
date-updated: July 25
Target persona: Developer
Level: Beginner
---

# Secure your first web app

Seamlessly connect your customer-facing app to Okta and configure a secure sign-in experience, using the built-in authentication policies and the Okta hosted sign-in form.

## Introduction

You've built your customer-facing app and now it needs a secure, scalable way to sign users in. Integrate your existing web app with a secure Okta sign-in flow, configure sign-in policies, and brand the experience for your customers.

## Learn

Learn the basics that you need to lay the foundations for your work.

An [Okta org](/docs/concepts/okta-organizations/) serves as your central Okta development hub, encapsulating all configurations, users, groups, policies, and other objects that your app uses.

## Plan

To get the most from your Okta org, secure a custom domain that you can assign to your org. A custom domain isn't just for branding. It also unlocks a full spectrum of customization options for the Okta user interface components and messaging, which ensures your app's brand consistency. A custom domain provides the following enhancements:

* Apply your brand's look and feel to all Okta user interface components and communications.

* Simplify user session management and monitoring.

* Enable cross-app features like Single Logout (SLO)

See [Style the sign-in form to match your brand](#style-the-sign-in-form-to-match-your-brand).

## Build

To integrate your web app with Okta, start by getting an Okta account and org, and then setting up the org. You can then implement a user-friendly sign-in experience using the Okta hosted sign-in form. After that, you can customize the authentication flow to meet your specific security requirements and brand aesthetics.

### Set up your account

Sign up for an Okta account, and then set up your new Okta org to test web apps.

* Get an [Okta account](/docs/reference/org-defaults/).
* [Set up your org for basic testing](/docs/guides/set-up-org/main/). This involves populating your org with sample users and a user group.

### Add a way for users to sign in

The simplest and Okta-recommended way to sign users in to your app is to redirect them to an Okta-hosted sign-in form. The Okta-hosted sign-in form supports all Okta authentication factors and adapts to any authentication policy modifications that you make. It operates on standard IAM protocols such as SAML, OAuth 2.0, or OpenID Connect (OIDC).

* [Connect your app to Okta](/docs/guides/create-an-app-integration/)
* [Learn about the Okta Sign-In Widget](waiting)
* [Sign users in to your SPA by redirecting them to an Okta-hosted sign-in form](/docs/guides/auth-js-redirect/main/)

By default, users are required to sign in with any of two authentication factors: password, email, SMS, and voice. Your org comes with those authenticators pre-configured. Use the Admin Console to enable other factors and change the policy to match your requirements.

* Learn about [preset authentication policies](https://help.okta.com/okta_help.htm?type=oie&id=ext-preset-auth-policies).
* [Add an authentication factor](https://help.okta.com/okta_help.htm?type=oie&id=csh-about-authenticators)

The Okta-hosted sign-in form changes its behavior automatically to match your updates to the authentication policy.

### Style the sign-in form to match your brand

You can restyle the Okta-hosted sign-in form to match your own brand's look and feel. Assign a custom domain URL to your org to enable these customization features.

* Assign a [custom domain](/docs/guides/custom-url-domain/main/) to your org
* [Style your Okta org with your brand](/docs/concepts/brands/)
* [Style the Okta-hosted sign-in form](/docs/guides/custom-widget-gen3/main/)

## Related topics

Congratulations, your app now uses Okta to provide its sign-in services.

Learn how to secure other types of apps:

* [Sign users into a web app using a self-hosted sign-in form with Direct Authentication](/docs/guides/configure-direct-auth-grants/aotp/main/).
* [Sign users into a mobile app by redirecting them to an Okta-hosted sign-in form](/docs/guides/sign-into-mobile-app-redirect/ios/main/)
* [Sign users into a mobile app using a self-hosted sign-in form](/docs/guides/)

After a user signs in, Okta returns tokens to identify the user and the user's access levels.

See [Understand the token lifecycle](/docs/concepts/token-lifecycles/index.md).

If you're using the Okta-hosted sign-in form, Okta returns a cookie to identify the user's session. This establishes an active browser session. If you're using a self-hosted form, your app should use the Sessions API to obtain a session token.

Use the following docs to enable sign-out once, sign-out everywhere features:

* [Use the Sessions API](https://developer.okta.com/docs/api/openapi/okta-management/management/tag/Session/).
* [Learn about Single Logout](/docs/guides/single-logout/openidconnect/main/).
* [Learn about Universal Logout](/docs/guides/oin-universal-logout-overview/).
sections:
- main
---
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: Secure your first web app
meta:
- name: description
content: Connect a single-page app to Okta and give it sign-in functionality.
date-updated: July 25
Target persona: Developer
Level: Beginner
---

# Secure your first web app

Connect your app to Okta and configure a secure sign-in experience.

## Introduction

You've built your customer-facing app and now it needs a secure, scalable way to sign users in. Integrate your existing web app with a secure Okta sign-in flow, configure sign-in policies, and brand the experience for your customers.

## Learn

Learn the basics that you need to lay the foundations for your work.

An [Okta org](/docs/concepts/okta-organizations/) serves as your central Okta development hub, encapsulating all configurations, users, groups, policies, and other objects that your app uses.

## Plan

To get the most from your Okta org, secure a custom domain that you can assign to your org. A custom domain provides the following enhancements:

* Apply your brand's look and feel to all Okta user interface components and communications.

* Simplify user session management and monitoring.

* Enable cross-app features like Single Logout (SLO).

See [Style the sign-in form to match your brand](#style-the-sign-in-form-to-match-your-brand).

## Build

To integrate your web app with Okta, start by getting an Okta account and org, and then setting up the org. You can then implement a user-friendly sign-in experience using the Okta-hosted sign-in form. After that, you can customize the authentication flow to meet your specific security requirements and brand aesthetics.

### Set up your account

Sign up for an Okta account, and then set up your new Okta org to test web apps.

* Get an [Okta account](/docs/reference/org-defaults/).
* [Set up your org for basic testing](/docs/guides/set-up-org/main/). This involves populating your org with sample users and a user group.

### Add a way for users to sign in

The simplest and Okta-recommended way to sign users in to your app is to redirect them to an Okta-hosted sign-in form.

* [Connect your app to Okta](/docs/guides/create-an-app-integration/openidconnect/main/)
* [Learn about the Okta Sign-In Widget](/docs/concepts/sign-in-widget/)
* [Sign users in to your SPA by redirecting them to an Okta-hosted sign-in form](/docs/guides/auth-js-redirect/main/)

By default, users are required to sign in with any two authentication factors: password, email, SMS, and voice. Your org comes with those authenticators pre-configured. Use the Admin Console to enable other factors and change the policy to match your requirements.

* Learn about [preset authentication policies](https://help.okta.com/okta_help.htm?type=oie&id=ext-preset-auth-policies).
* [Add an authentication factor](https://help.okta.com/okta_help.htm?type=oie&id=csh-about-authenticators).

The Okta-hosted sign-in form changes its behavior automatically to match your updates to the authentication policy.

### Style the sign-in form to match your brand

You can restyle the Okta-hosted sign-in form to match your own brand's look and feel. Assign a custom domain URL to your org to enable these customization features.

* Assign a [custom domain](/docs/guides/custom-url-domain/main/) to your org
* [Style your Okta org with your brand](/docs/concepts/brands/)
* [Style the Okta-hosted sign-in form](/docs/guides/custom-widget-gen3/main/)

## Related topics

Congratulations, your app now uses Okta to provide its sign-in services.

Learn how to secure other types of apps:

* [Sign users into a mobile app by redirecting them to an Okta-hosted sign-in form](/docs/guides/sign-into-mobile-app-redirect/ios/main/)
* [Sign users into a mobile app using a self-hosted sign-in form](/docs/guides/sign-into-mobile-app-embedded/main/)

After a user signs in, Okta returns tokens to identify the user and the user's access levels. See [Understand the token lifecycle](/docs/concepts/token-lifecycles/index.md).

If you're using the Okta-hosted sign-in form, Okta returns a JWT to identify the user, their access, and to give you some information about their session. This proves that they have an active browser session. If you're using a self-hosted form, your app should use the [Authorization Code with PKCE](/docs/guides/implement-grant-type/authcodepkce/main/) authentication flow and `prompt=none` to validate that a session is still active.

Use the following docs to enable sign-out once, sign-out everywhere features:

* [Learn about Single Logout](/docs/guides/single-logout/openidconnect/main/).
* [Learn about Universal Logout](/docs/guides/oin-universal-logout-overview/).
4 changes: 3 additions & 1 deletion packages/@okta/vuepress-site/docs/journeys/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: Landing
title: Journeys
journeys:
- OCI-secure-your-first-web-app
---

# Journeys
Expand All @@ -15,5 +17,5 @@ Journeys break down your development project into consumable steps:
## Featured journeys

<Cards>
<Card href="/docs/journeys/OCI-secure-your-first-web-app/" cardTitle="Secure your first web app">Seamlessly connect your customer-facing app to Okta and configure a secure sign-in experience, using the built-in authentication policies and the Okta hosted sign-in page.</Card>
<Card href="/docs/journeys/OCI-secure-your-first-web-app/main/" cardTitle="Secure your first web app">Seamlessly connect your customer-facing app to Okta and configure a secure sign-in experience, using the built-in authentication policies and the Okta hosted sign-in page.</Card>
</Cards>
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,15 @@
windowPathname = this.$page.regularPath.replace('/-/', `/${menuItem.frameworks[0]}/`);
}

if(
this.$page.regularPath.indexOf('/-/') > 0 &&
journeyFromPath(this.$page.regularPath).journeyName === menuItem.journeyName &&
menuItem.frameworks &&
menuItem.frameworks.length > 0
) {
windowPathname = this.$page.regularPath.replace('/-/', `/${menuItem.frameworks[0]}/`);
}

if(menuItem.path != undefined && windowPathname === menuItem.path) {
//add parent crumbs
if (menuItem.parents) {
Expand Down
5 changes: 2 additions & 3 deletions packages/@okta/vuepress-theme-prose/const/navbar.const.js
Original file line number Diff line number Diff line change
Expand Up @@ -1031,11 +1031,10 @@ export const journeys = [
path: "/docs/journeys/",
subLinks: [
{
title: "Okta Customer Identity (OCI)",
path: "/docs/journeys/1",
title: "Secure my customer portal",
subLinks: [
{ title: "Secure your first web app",
path: "/docs/journeys/OCI-secure-your-first-web-app"
journeyName: "OCI-secure-your-first-web-app"
},
]
},
Expand Down
Loading