You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: _source/_data/authors.yml
+6
Original file line number
Diff line number
Diff line change
@@ -929,3 +929,9 @@ michael-palermo:
929
929
web: https://about.me/palermo4
930
930
bio: Michael is the Manager of Developer Advocacy at Okta. He has been advocating developer technologies for over 25 years. Michael is a published author of technical books as well as online courses with Pluralsight. Previously, Michael evangelized "smart home" with the Amazon Alexa team, taught developers location data with HERE Technologies, and championed HTML5 while at Microsoft.
931
931
932
+
ram-gandhi:
933
+
full_name: Ram Gandhi
934
+
display_name: Ram Gandhi
935
+
avatar: avatar-ram-gandhi.jpg
936
+
github: https://github.com/ramgandhi-okta
937
+
bio: Ram Gandhi is a Developer Support Solutions Architect at Okta, a full-stack developer, DevOps expert, and a problem solver who is excited by learning new things. He has over 13 years of experience developing software applications across various industries and securing them using industry best practices. He loves to work in cross-platform development and Kubernetes.
Copy file name to clipboardexpand all lines: _source/_posts/2023-07-27-enterprise-ready-getting-started.md
+8-10
Original file line number
Diff line number
Diff line change
@@ -40,25 +40,21 @@ This application uses [React](https://react.dev/) for the frontend application a
40
40
41
41
Do you want to see your framework of choice in a workshop? Let us know your preferred tech stack for an enterprise-ready SaaS application in the comments below!
42
42
43
-
## Install Node.js and required tools
43
+
## Install required tools
44
44
45
-
Each tech stack has the required tooling to install on your machine. Depending on the specific workshop you're participating in, you may need some knowledge of JavaScript, REST concepts, and command line operations in addition to the installed tools.
46
-
47
-
Next, you'll install the required tools, get a local copy of the project, and walk through the commands to start and stop the application.
48
-
49
-
There's a [companion video for this post](https://youtu.be/FCSNMtLtwRg) that shows the installation process and running the application.
45
+
Each tech stack has the required tooling to install on your machine. While knowledge of JavaScript, REST concepts, and command line operations are helpful, we provided a [companion video](https://youtu.be/FCSNMtLtwRg) to walk you through the installation process and running the application.
50
46
51
47
{% youtube FCSNMtLtwRg %}
52
48
53
-
### Install Node, npm, and npx
49
+
### Install Node.js
54
50
55
-
You'll need [Node.js](https://nodejs.org/en) v18+. When you install Node.js, you'll automatically get npm, a command line tool to install, update, and manage dependencies. npm includes a command called npx, allowing you to run a npm package without installing it locally.
51
+
You'll need [Node.js](https://nodejs.org/en) v18 or higher. When you install Node.js, you'll automatically get npm, a command line tool to install, update, and manage dependencies. npm includes a command called npx, allowing you to run a npm package without installing it locally.
56
52
57
53
The application was built using Node v18.14.0, npm v9.3.1.
58
54
59
55
### Git and GitHub (optional)
60
56
61
-
You can find the source code for the project on [GitHub](https://github.com/). If you want to use source control for your work as you participate in the workshops, you may want to use [Git](https://git-scm.com/) and create a GitHub account. If you do not want to use Git, you can also download the source code from GitHub as a zip file.
57
+
You can find the source code for the project in the [okta-enterprise-ready-workshops](https://github.com/oktadev/okta-enterprise-ready-workshops) GitHub repository. If you want to use source control for your work as you participate in the workshops, you may want to use [Git](https://git-scm.com/) and create a [GitHub](https://github.com) account. If you do not want to use Git, you can also download the source code from the GitHub repository [as a zip file](https://github.com/oktadev/okta-enterprise-ready-workshops/archive/refs/heads/main.zip).
62
58
63
59
### Code editor/Integrated development environment (IDE)
64
60
@@ -93,7 +89,7 @@ npm run init-db
93
89
94
90
Before you voice concerns about writing the passwords to the console and storing the passwords in plaintext in the database, don't fear! One of the upcoming workshops replaces the username/password local database password store scheme with an enterprise-ready authentication mechanism!
95
91
96
-
## Inspect the React and Express Nx TypeScript project
92
+
## Inspect the React and Express project
97
93
98
94
Open the project in your IDE. First, you'll see the README. The README has the npm commands we'll cover next in a quick reference format.
99
95
@@ -117,6 +113,8 @@ You will sign in using the email and password of one of the two users, which wil
117
113
118
114
{% img blog/enterprise-ready-getting-started/todolist.jpg alt:"Screenshot of todo list" %}{: .center-image }
119
115
116
+
This is a bare-bones implementation of a todo application, so you won't have the user experience niceties like error notifications for entering email and passwords incorrectly.
117
+
120
118
Stop serving the application by entering `Ctrl+c` in the terminal.
This workshop is part of our Enterprise Readiness Workshop series.
17
20
18
21
In this workshop, you will be wearing the hat of a SaaS developer who will up-level his/her app to allow users (from your big enterprise customers) to log on using their own company credentials without providing a password directly to your app. When any enterprise customer considers buying your software to enhance their employees' productivity, their IT and security teams want to make sure employees can access your app securely. As a developer, you'd prefer not to rebuild large portions of your authentication flow for every new customer. Fortunately, the OpenID Connect standard solves both of these problems! By adding OpenID Connect (OIDC) support to your app, you can meet the identity security needs of every enterprise organization that uses an OIDC-compatible identity provider.
@@ -24,7 +27,7 @@ In this workshop, you will be wearing the hat of a SaaS developer who will up-le
24
27
| 3. [Enterprise-Ready Workshop: Manage Users with SCIM](/blog/2023/07/28/scim-workshop)|
Today, we'll walk through adding OIDC to our Todo sample application.
30
+
Today, we'll walk through adding OIDC to our Todo sample application. If you want to jump to the completed project, you can find it in the [oidc-workshop-complete](https://github.com/oktadev/okta-enterprise-ready-workshops/tree/oidc-workshop-complete) GitHub repository.
28
31
29
32
For an in-depth walkthrough of developing and troubleshooting the code in this workshop, follow along on with the video:
30
33
{% youtube -gwgEAa4TkU %}
@@ -541,7 +544,7 @@ The first time an OIDC user logs into the app, their user record is created in t
TheOIDCsupportthatyouaddedtothesampleapptodayallowsinformationflowfromcustomeridentityprovidersintoyourapplication. Youcancheckoutthecompletedapplicationinthe [oidc-workshop-complete](https://github.com/oktadev/okta-enterprise-ready-workshops/tree/oidc-workshop-complete) GitHub repository. Also, you can explore the OpenID standards to learn more about what other information you can gather when someone logs into your app with OIDC. What app features might you be able to use that data for?
545
548
546
549
OIDCoffersaone-waystreamofinformation: Yourapplicationcan't change a user'srecordsintheupstreamidentityprovider. Tosupportthistwo-wayflowofinformationbetweenyourappandtheIDP, youcanuseSCIM, theSystemforCross-DomainIdentityManagement. OurSCIMworkshopbuildsontheOIDCsupportimplementedinthisworkshop!
- 2023-08-21: Added a Supplemental section at the end
17
18
- 2023-08-28: Corrected hyperlink to OIDC Workshop blog, provided more clarity in accessing the Prisma web interface. Added a disclaimer for using API tokens.
@@ -42,7 +43,7 @@ In this workshop, we'll cover the following:
42
43
43
44
{% include toc.md %}
44
45
45
-
By following these steps, you will learn how to implement SCIM and support provisioning from multiple organizations/tenants. Although we'll integrate with Okta as an example, remember that almost every identity provider on the web has SCIM support!
46
+
By following these steps, you will learn how to implement SCIM and support provisioning from multiple organizations/tenants. Although we'll integrate with Okta as an example, remember that almost every identity provider on the web has SCIM support! If you want to jump to the completed project, you can find it in the [scim-workshop-complete](https://github.com/oktadev/okta-enterprise-ready-workshops/tree/scim-workshop-complete) GitHub repository.
46
47
47
48
## Managing users across systems at scale
48
49
@@ -86,9 +87,9 @@ SCIM uses the [JSON](https://www.json.org/json-en.html) format for requesting an
86
87
87
88
Have you seen these endpoints before? Are they familiar to you? Perhaps you've built backend applications with these API endpoints. Let's build on that knowledge.
88
89
89
-
Before we begin, please note that this implementation of SCIM is meant to be vendoragnostic, and I will be adding notes on how Okta implements this standard throughout the demo. More importantly, we'll refer to [the SCIM 2.0 spec](https://datatracker.ietf.org/doc/html/rfc7644) to build the server.
90
+
Before we begin, please note that this implementation of SCIM is meant to be vendor-agnostic, and I will be adding notes on how Okta implements this standard throughout the demo. More importantly, we'll refer to [the SCIM 2.0 spec](https://datatracker.ietf.org/doc/html/rfc7644) to build the server.
90
91
91
-
## Set Up the sample React and Express application
92
+
## Set up the sample React and Express application
92
93
93
94
Follow [these setup instructions](/blog/2023/07/27/enterprise-ready-getting-started) to install and run the Todo sample app. Run `node -v` and make sure you have Node version 18 or newer.
94
95
@@ -1397,9 +1398,9 @@ You'll make a similar change to all the SCIM endpoints.
1397
1398
1398
1399
## Adding SCIM support to SaaS applications
1399
1400
1400
-
Congratulations, you've added SCIM support to an OIDC application! Not only have you supported SCIM for a single Okta organization, but the implementation choices made throughout this workshop prioritize scalability so that the Todo app can integrate with as many additional identity providers as necessary! By giving every integration its own unique SCIM endpoint and API token, you prepare your application to seamlessly integrate with as many customers as you want. Keep in mind, IdPs that support SCIM may implement SCIM differently, so you will need to reference the specific IdP's implementation docs.
1401
+
Congratulations, you've added SCIM support to an OIDC application! Not only have you supported SCIM for a single Okta organization, but the implementation choices made throughout this workshop prioritize scalability so that the Todo app can integrate with as many additional identity providers as necessary! By giving every integration its own unique SCIM endpoint and API token, you prepare your application to seamlessly integrate with as many customers as you want. Keep in mind, IdPs that support SCIM may implement SCIM differently, so you will need to reference the specific IdP's implementation docs.
1401
1402
1402
-
If you have followed along with the workshops so far, you now have a Todo application secured by OpenID Connect with SCIM provisioning. Your users can now authenticate securely with OIDC and make use of this application once they have been provisioned and assigned to the application from an Identity Provider such as Okta.
1403
+
You can check out the completed SCIM server sample in the [scim-workshop-complete](https://github.com/oktadev/okta-enterprise-ready-workshops/tree/scim-workshop-complete) GitHub repository. And if you have followed along with the workshops so far, you now have a Todo application secured by OpenID Connect with SCIM provisioning. Your users can now authenticate securely with OIDC and make use of this application once they have been provisioned and assigned to the application from an Identity Provider such as Okta.
0 commit comments