Skip to content

Commit 5c76e0e

Browse files
authored
Support for SAML as a Silo IdP, part 1 (#1139)
Add the db schemas, models, and some endpoints to support configuring a SAML IdP for a Silo. Enough functionality is here to support the first step of SP-initiated SAML login flow: concretely, created a signed SAML request, and sending that to the IdP. More work is required to support receiving the SAML IdP's response, and actually creating and logging in the user. Two tables were added here: one that relates a silo to a list of typed identity providers, and one for SAML configuration. The order of columns in the silo table was corrected to match the DB model's field order. Support for serializing and deserializing SAML XML is provided by the samael crate, but for now use Cargo patch to get a specific branch from an oxidecomputer fork. A PR was made upstream so follow up will be required after that is merged. Accept a SAML IDP descriptor document as a base64 encoded string, or fetch it from a URL.
1 parent 3d0f731 commit 5c76e0e

35 files changed

+3106
-57
lines changed

.github/workflows/rust.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ jobs:
3131
if: ${{ github.ref != 'refs/heads/main' }}
3232
- name: Report cargo version
3333
run: cargo --version
34+
- name: Update PATH
35+
run: echo "$PWD/out/cockroachdb/bin:$PWD/out/clickhouse" >> "$GITHUB_PATH"
36+
- name: Install Pre-Requisites
37+
run: ./tools/install_prerequisites.sh -y
3438
- name: Check build of deployed Omicron packages
3539
run: cargo run --bin omicron-package -- check
3640

@@ -45,6 +49,10 @@ jobs:
4549
run: cargo --version
4650
- name: Report Clippy version
4751
run: cargo clippy -- --version
52+
- name: Update PATH
53+
run: echo "$PWD/out/cockroachdb/bin:$PWD/out/clickhouse" >> "$GITHUB_PATH"
54+
- name: Install Pre-Requisites
55+
run: ./tools/install_prerequisites.sh -y
4856
- name: Run Clippy Lints
4957
#
5058
# Clippy's style nits are useful, but not worth keeping in CI. This
@@ -64,6 +72,10 @@ jobs:
6472
if: ${{ github.ref != 'refs/heads/main' }}
6573
- name: Report cargo version
6674
run: cargo --version
75+
- name: Update PATH
76+
run: echo "$PWD/out/cockroachdb/bin:$PWD/out/clickhouse" >> "$GITHUB_PATH"
77+
- name: Install Pre-Requisites
78+
run: ./tools/install_prerequisites.sh -y
6779
- name: Test build documentation
6880
run: cargo doc
6981

0 commit comments

Comments
 (0)