Skip to content

Rewrite Azure SAML docs for application owners #2112

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 8 commits into from
Apr 2, 2025

Conversation

izaaklauer
Copy link
Contributor

@izaaklauer izaaklauer commented Mar 17, 2025

Preview: https://clerk.com/docs/pr/2112

What problem does this solve?

Here's how configuring SAML usually works:

  1. An App Owner begins to onboard a new enterprise, and is put in touch with the enterprise's IT Admin
  2. The App Owner creates the saml connection, and shares the Entity ID and Reply URL with the IT Admin via an email, along with more instructions
  3. The IT admin follows those instructions, and responds via email with a metadata url
  4. The App owner adds the metadata URL, and then coordinates on a time with the IT admin to enable and test the connection

Our docs today don't reflect that reality. They presume the the reader has simultaneous access to Clerk and the Microsoft IDP. As such, an application owner reading our docs needs to understand them deeply enough to re-write them into an email suitable for the IT-admin's consumption. This is time consuming and painful, because the App owner wants to avoid needing to internalize the nitty-gritty details of SAML - that's why they have Clerk!

What changed?

This rewrites the docs with the two above personas in mind.

The Application Owner is the primary reader, with access to Clerk. The instructions for the IT Admin (with access to Azure) are encapsulated in an email template.

Did any of the actual instructions change?

In running through the tutorial, I also made a few tweaks and fixes.

The biggest change is in the attribute mapping section. Right now, we're instructing the user to set the email attribute to contain the userprincipalname, which I think is flatly incorrect:

1. To edit the email claim, select the claim with the claim name ending with `/claims/emailaddress`. You'll be redirected to the **Manage claim** page.
1. Next to **Source attribute**, search for and select `user.userprincipalname` in the dropdown.

And we don't acknowledge that the default attribute mappings are likely the correct ones and don't need to be modified.

What needs to happen before merging?

You may have noticed: the email template looks terrible in the browser. I introduced a new component for the template in a separate PR to this repo's parent, which introduces a copy button. Try clicking that copy button and pasting into a new email - that should look great!

I'm not sure why the markdown renders so badly on the browser. It probably needs to be fixed in the component definition on the parent repo. but fix it we must before merging this.

Stretch goals

You'll notice that the email template contains placeholders. It would be very sweet if we could automatically fetch those values and fill them! I'm willing to build the APIs necessary to make that happen if you're willing to wire them into this page 😆 .

@izaaklauer izaaklauer changed the title Rewrite Azure SAML docs for applicaiton owners Rewrite Azure SAML docs for application owners Mar 18, 2025
Copy link

Hey, here’s your docs preview: https://clerk.com/docs/pr/2112

@izaaklauer izaaklauer marked this pull request as ready for review March 19, 2025 16:57
@izaaklauer izaaklauer requested a review from a team as a code owner March 19, 2025 16:57
1. Select **Add connection**. You'll be redirected to the connection's configuration page.
1. In the **Service Provider Configuration** section, save the **Reply URL (Assertion Consumer Service URL)** and **Identifier (Entity ID)** values somewhere secure. Keep this page open.
1. Select **Add connection**. You'll be redirected to the connection's configuration page. Note that the connection is disabled by default.
1. In the **Service Provider Configuration** section, note the **Reply URL (Assertion Consumer Service URL)** and **Identifier (Entity ID)**. These will need to be added to your customer's Microsoft Entra ID application.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to clarify: does the IT admin need to save these values to provide to the customer later?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The app owner needs to save these values to provide to their customer IT admin.

@LauraBeatris LauraBeatris force-pushed the izaak/orgs-597-azure branch from f2a8f6d to 7c9eb66 Compare April 1, 2025 19:50
@LauraBeatris LauraBeatris merged commit c6b8e0b into main Apr 2, 2025
6 checks passed
@LauraBeatris LauraBeatris deleted the izaak/orgs-597-azure branch April 2, 2025 14:44
alexisintech added a commit that referenced this pull request May 27, 2025
Co-authored-by: Laura Beatris <[email protected]>
Co-authored-by: Alexis Aguilar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants