# rscrafted/github-entra-sso-integration architecture

> Architecture diagram of the GitHub repository rscrafted/github-entra-sso-integration, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rscrafted/github-entra-sso-integration
- Repository: https://github.com/rscrafted/github-entra-sso-integration

## Overview

This repository is a hands-on guide for configuring GitHub Enterprise Cloud SSO with Microsoft Entra ID, not an application with runtime code. Its main workflow sets up the gallery application and SAML settings, creates and assigns a test user, configures GitHub, then tests SSO. The README also documents automated provisioning as an enhancement. The available README excerpt ends during GitHub configuration, so later testing and provisioning details are represented only at the level the guide supports.

Main entry points: [`README.md`](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md) (Add Gallery App), [`images/automated-user-provisioning`](https://github.com/rscrafted/github-entra-sso-integration/tree/main/images/automated-user-provisioning) (Automated Provisioning)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_setup["App Setup"]
  node_gallery["Add Gallery App<br/>[README.md]"]
end

subgraph group_identity["Identity Setup"]
  node_saml["Configure SAML<br/>[README.md]"]
  node_claims["Map User Claims<br/>[README.md]"]
  node_certificate["SAML Certificate<br/>[README.md]"]
  node_githubsso["Configure GitHub SSO<br/>[README.md]"]
end

subgraph group_access["Access and Provisioning"]
  node_createuser["Create Test User<br/>[README.md]"]
  node_assignuser["Assign User<br/>[README.md]"]
  node_test["Test SSO<br/>[README.md]"]
  node_provision["Automated Provisioning"]
end

node_admin(("Administrator"))
node_entra["Microsoft Entra ID"]
node_github["GitHub Enterprise Cloud"]

node_admin -->|"adds app"| node_gallery
node_gallery -->|"configures in"| node_entra
node_admin -->|"sets SAML"| node_saml
node_admin -->|"maps claims"| node_claims
node_entra -->|"provides certificate"| node_certificate
node_admin -->|"creates user"| node_createuser
node_admin -->|"assigns user"| node_assignuser
node_assignuser -->|"assigns in"| node_entra
node_admin -->|"configures SSO"| node_githubsso
node_githubsso -->|"sets SAML"| node_github
node_admin -->|"tests login"| node_test
node_test -->|"authenticates with"| node_entra
node_entra -->|"sends SAML assertion"| node_github
node_entra -.->|"provisions users"| node_provision
node_provision -.->|"creates accounts"| node_github

click node_gallery "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_saml "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_claims "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_certificate "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_createuser "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_assignuser "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_githubsso "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_test "https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md"
click node_provision "https://github.com/rscrafted/github-entra-sso-integration/tree/main/images/automated-user-provisioning"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_gallery toneBlue
class node_saml,node_claims,node_certificate,node_githubsso toneAmber
class node_createuser,node_assignuser,node_test,node_provision toneMint
class node_admin,node_entra,node_github toneIndigo
```

## Components

### App Setup

- [Add Gallery App](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`

### Identity Setup

- [Configure SAML](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`
- [Map User Claims](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`
- [SAML Certificate](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`
- [Configure GitHub SSO](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`

### Access and Provisioning

- [Create Test User](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`
- [Assign User](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`
- [Test SSO](https://github.com/rscrafted/github-entra-sso-integration/blob/main/README.md): `README.md`
- [Automated Provisioning](https://github.com/rscrafted/github-entra-sso-integration/tree/main/images/automated-user-provisioning): `images/automated-user-provisioning`

### Other components

- **Administrator**
- **Microsoft Entra ID**
- **GitHub Enterprise Cloud**

## Connections

- Administrator → Add Gallery App: adds app
- Add Gallery App → Microsoft Entra ID: configures in
- Administrator → Configure SAML: sets SAML
- Administrator → Map User Claims: maps claims
- Microsoft Entra ID → SAML Certificate: provides certificate
- Administrator → Create Test User: creates user
- Administrator → Assign User: assigns user
- Assign User → Microsoft Entra ID: assigns in
- Administrator → Configure GitHub SSO: configures SSO
- Configure GitHub SSO → GitHub Enterprise Cloud: sets SAML
- Administrator → Test SSO: tests login
- Test SSO → Microsoft Entra ID: authenticates with
- Microsoft Entra ID → GitHub Enterprise Cloud: sends SAML assertion
- Microsoft Entra ID → Automated Provisioning: provisions users
- Automated Provisioning → GitHub Enterprise Cloud: creates accounts
