Skip to content

Commit 3915f94

Browse files
authored
Merge branch 'main' into spring-boot-authorization
2 parents 929bcc9 + a66215a commit 3915f94

26 files changed

+2637
-59
lines changed
22.3 KB
Loading
156 KB
Loading
147 KB
Loading
108 KB
Loading
Loading
119 KB
Loading
Loading
Loading
Loading
Loading

_source/_assets/img/blog/stepup-authentication/api-response-flow.svg

+1
Loading

_source/_assets/img/blog/stepup-authentication/elevated-flow.svg

+1
Loading

_source/_assets/img/blog/stepup-authentication/evaluate-acr-flow.svg

+1
Loading

_source/_assets/img/blog/stepup-authentication/initial-flow.svg

+1
Loading
Loading

_source/_data/authors.yml

+6
Original file line numberDiff line numberDiff line change
@@ -929,3 +929,9 @@ michael-palermo:
929929
web: https://about.me/palermo4
930930
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.
931931

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.

_source/_posts/2023-06-21-net-maui-authentication.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: laura-rodriguez
55
by: contractor
66
communities: [mobile, .net]
77
description: "Add authentication to your MAUI applications and keep your .NET mobile apps secure!"
8-
tags: [net, mobile]
8+
tags: [dotnet, mobile]
99
tweets:
1010
- ""
1111
- ""

_source/_posts/2023-07-27-enterprise-ready-getting-started.md

+8-10
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,21 @@ This application uses [React](https://react.dev/) for the frontend application a
4040

4141
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!
4242

43-
## Install Node.js and required tools
43+
## Install required tools
4444

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.
5046

5147
{% youtube FCSNMtLtwRg %}
5248

53-
### Install Node, npm, and npx
49+
### Install Node.js
5450

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.
5652

5753
The application was built using Node v18.14.0, npm v9.3.1.
5854

5955
### Git and GitHub (optional)
6056

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).
6258

6359
### Code editor/Integrated development environment (IDE)
6460

@@ -93,7 +89,7 @@ npm run init-db
9389

9490
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!
9591

96-
## Inspect the React and Express Nx TypeScript project
92+
## Inspect the React and Express project
9793

9894
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.
9995

@@ -117,6 +113,8 @@ You will sign in using the email and password of one of the two users, which wil
117113

118114
{% img blog/enterprise-ready-getting-started/todolist.jpg alt:"Screenshot of todo list" %}{: .center-image }
119115

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+
120118
Stop serving the application by entering `Ctrl+c` in the terminal.
121119

122120
### Call the Express API endpoints directly

_source/_posts/2023-07-28-oidc_workshop.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ tweets:
1212
- ""
1313
image: blog/oidc_workshop/social.jpg
1414
type: awareness
15+
github: https://github.com/oktadev/okta-enterprise-ready-workshops/tree/oidc-workshop-complete
16+
changelog:
1517
---
18+
1619
This workshop is part of our Enterprise Readiness Workshop series.
1720

1821
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
2427
| 3. [Enterprise-Ready Workshop: Manage Users with SCIM](/blog/2023/07/28/scim-workshop) |
2528
| 4. [Enterprise Maturity Workshop: Terraform](/blog/2023/07/28/terraform-workshop) |
2629

27-
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.
2831

2932
For an in-depth walkthrough of developing and troubleshooting the code in this workshop, follow along on with the video:
3033
{% youtube -gwgEAa4TkU %}
@@ -541,7 +544,7 @@ The first time an OIDC user logs into the app, their user record is created in t
541544

542545
## Learn more about enterprise ready identity SaaS apps
543546

544-
The OIDC support that you added to the sample app today allows information flow from customer identity providers into your application. 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?
547+
The OIDC support that you added to the sample app today allows information flow from customer identity providers into your application. You can check out the completed application in the [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?
545548

546549
OIDC offers a one-way stream of information: Your application can't change a user's records in the upstream identity provider. To support this two-way flow of information between your app and the IDP, you can use SCIM, the System for Cross-Domain Identity Management. Our SCIM workshop builds on the OIDC support implemented in this workshop!
547550

_source/_posts/2023-07-28-scim-workshop.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ tweets:
1212
- ""
1313
image: blog/scim-workshop/social.jpg
1414
type: awareness
15+
github: https://github.com/oktadev/okta-enterprise-ready-workshops/tree/scim-workshop-complete
1516
changelog:
1617
- 2023-08-21: Added a Supplemental section at the end
1718
- 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:
4243

4344
{% include toc.md %}
4445

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.
4647

4748
## Managing users across systems at scale
4849

@@ -86,9 +87,9 @@ SCIM uses the [JSON](https://www.json.org/json-en.html) format for requesting an
8687

8788
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.
8889

89-
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+
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.
9091

91-
## Set Up the sample React and Express application
92+
## Set up the sample React and Express application
9293

9394
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.
9495

@@ -1397,9 +1398,9 @@ You'll make a similar change to all the SCIM endpoints.
13971398
13981399
## Adding SCIM support to SaaS applications
13991400
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.
14011402
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.
14031404
14041405
|Posts in the enterprise-ready workshop series|
14051406
| --- |

0 commit comments

Comments
 (0)