Skip to content

providers/saml: auto pull signature algorithm options#17614

Merged
PeshekDotDev merged 1 commit intomainfrom
saml-signature-cleanup
Feb 3, 2026
Merged

providers/saml: auto pull signature algorithm options#17614
PeshekDotDev merged 1 commit intomainfrom
saml-signature-cleanup

Conversation

@PeshekDotDev
Copy link
Contributor

@PeshekDotDev PeshekDotDev commented Oct 21, 2025

Details

In order to receive space, one must sacrifice it.

This PR shall clean up the form, giving us room for new life and features

Closes #19139


Checklist

  • Local tests pass (ak test authentik/)
  • The code has been formatted (make lint-fix)

If an API change has been made

  • The API schema has been updated (make gen-build)

If changes to the frontend have been made

  • The code has been formatted (make web)

If applicable

  • The documentation has been updated
  • The documentation has been formatted (make docs)

@netlify
Copy link

netlify bot commented Oct 21, 2025

Deploy Preview for authentik-docs canceled.

Name Link
🔨 Latest commit 24dc523
🔍 Latest deploy log https://app.netlify.com/projects/authentik-docs/deploys/69407df98a1f980008f34ce8

@netlify
Copy link

netlify bot commented Oct 21, 2025

Deploy Preview for authentik-storybook ready!

Name Link
🔨 Latest commit 09a8ff0
🔍 Latest deploy log https://app.netlify.com/projects/authentik-storybook/deploys/698258607d121e0008096d6a
😎 Deploy Preview https://deploy-preview-17614--authentik-storybook.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Oct 21, 2025

Deploy Preview for authentik-integrations ready!

Name Link
🔨 Latest commit af7d257
🔍 Latest deploy log https://app.netlify.com/projects/authentik-integrations/deploys/696011ba98d6fd000819e181
😎 Deploy Preview https://deploy-preview-17614--authentik-integrations.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@codecov
Copy link

codecov bot commented Oct 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.26%. Comparing base (457ea95) to head (09a8ff0).
⚠️ Report is 5 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #17614      +/-   ##
==========================================
+ Coverage   93.21%   93.26%   +0.05%     
==========================================
  Files         968      968              
  Lines       53418    53430      +12     
==========================================
+ Hits        49793    49833      +40     
+ Misses       3625     3597      -28     
Flag Coverage Δ
conformance 38.05% <7.69%> (-0.01%) ⬇️
e2e 44.06% <7.69%> (+<0.01%) ⬆️
integration 22.76% <0.00%> (-0.01%) ⬇️
unit 91.40% <100.00%> (+0.01%) ⬆️
unit-migrate 91.44% <100.00%> (+0.06%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 21, 2025

authentik PR Installation instructions

Instructions for docker-compose

Add the following block to your .env file:

AUTHENTIK_IMAGE=ghcr.io/goauthentik/dev-server
AUTHENTIK_TAG=gh-09a8ff0836cef8d776913cd444dd7dd9165e3f10
AUTHENTIK_OUTPOSTS__CONTAINER_IMAGE_BASE=ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s

Afterwards, run the upgrade commands from the latest release notes.

Instructions for Kubernetes

Add the following block to your values.yml file:

authentik:
    outposts:
        container_image_base: ghcr.io/goauthentik/dev-%(type)s:gh-%(build_hash)s
global:
    image:
        repository: ghcr.io/goauthentik/dev-server
        tag: gh-09a8ff0836cef8d776913cd444dd7dd9165e3f10

Afterwards, run the upgrade commands from the latest release notes.

@BeryJu BeryJu added this to the Release 2025.12 milestone Oct 27, 2025
@PeshekDotDev PeshekDotDev force-pushed the saml-signature-cleanup branch from dd6674f to 11c97df Compare October 27, 2025 21:29
@PeshekDotDev PeshekDotDev marked this pull request as ready for review October 27, 2025 21:30
@PeshekDotDev PeshekDotDev requested a review from a team as a code owner October 27, 2025 21:30
@PeshekDotDev PeshekDotDev changed the title providers/saml: change digest and signature algorithm options into dropdowns providers/saml: auto pull signature algorithm options Oct 27, 2025
@PeshekDotDev PeshekDotDev requested a review from a team as a code owner October 28, 2025 01:09
@PeshekDotDev PeshekDotDev force-pushed the saml-signature-cleanup branch 2 times, most recently from a7a90e7 to fa3e520 Compare October 28, 2025 21:03
@PeshekDotDev PeshekDotDev marked this pull request as draft November 3, 2025 18:53
@PeshekDotDev PeshekDotDev force-pushed the saml-signature-cleanup branch 3 times, most recently from 1762fe6 to 44670e2 Compare November 7, 2025 21:56
@PeshekDotDev PeshekDotDev force-pushed the saml-signature-cleanup branch from 44670e2 to 24dc523 Compare December 15, 2025 21:30
@PeshekDotDev PeshekDotDev marked this pull request as ready for review December 15, 2025 21:31
@PeshekDotDev PeshekDotDev added the backport/version-2025.12 Add this label to PRs to backport changes to version-2025.12 label Dec 16, 2025
@PeshekDotDev PeshekDotDev moved this from Todo to Needs review in authentik Core Dec 19, 2025

def test_create_validate_unsupported_key_type(self):
"""Test validation rejects unsupported key types (Ed25519)"""
from authentik.crypto.models import CertificateKeyPair
Copy link
Member

Choose a reason for hiding this comment

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

should be top of file

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed

# Create an Ed25519 certificate
ed25519_cert = CertificateKeyPair.objects.create(
name=generate_id(),
certificate_data=load_fixture("fixtures/ed25519-cert.pem"),
Copy link
Member

Choose a reason for hiding this comment

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

should be able to generate, with create_test_cert

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I had to make some updates to the certificate generator to support this. I had to change the default format we generate in, so let me know if that's problematic

Comment on lines +103 to +107
self.assertIn("signing_kp", loads(response.content))
self.assertIn(
"Only RSA, EC, and DSA key types are supported",
loads(response.content)["signing_kp"][0],
)
Copy link
Member

Choose a reason for hiding this comment

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

self.assertJSON

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed

.certificate=${provider.signingKp}
@input=${setHasSigningKp}
singleton
.allowedKeyTypes=${[KeyTypeEnum.Rsa, KeyTypeEnum.Ec, KeyTypeEnum.Dsa]}
Copy link
Member

Choose a reason for hiding this comment

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

maybe put the allowed key types as a constant?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I added it to the options, good call

@rissson rissson removed the backport/version-2025.12 Add this label to PRs to backport changes to version-2025.12 label Jan 14, 2026
@PeshekDotDev
Copy link
Contributor Author

Because we want to be able to test the functionality of incorrect certs, we need the cert builder to support ed25519. So we need PR #19465 to merge, then update this PR and merge it

@github-project-automation github-project-automation bot moved this from In review to In Progress in authentik Core Feb 3, 2026
@PeshekDotDev PeshekDotDev force-pushed the saml-signature-cleanup branch from db1c875 to 09a8ff0 Compare February 3, 2026 20:19
@PeshekDotDev PeshekDotDev merged commit 838c985 into main Feb 3, 2026
102 checks passed
@PeshekDotDev PeshekDotDev deleted the saml-signature-cleanup branch February 3, 2026 21:52
@github-project-automation github-project-automation bot moved this from In Progress to Done in authentik Core Feb 3, 2026
kensternberg-authentik added a commit that referenced this pull request Feb 4, 2026
* main: (26 commits)
  providers/saml: auto pull signature algorithm options (#17614)
  core, web: bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /packages/prettier-config (#19990)
  web: bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 in /web (#19989)
  stages/authenticator_webauthn: fix double JSON encoding of webauthn options (#19952)
  core: bump django from 5.2.10 to 5.2.11 (#19988)
  ci: allow setting assignee to fail (#19985)
  root: revert enterprise loading behaviour (#19485)
  web/flows: update flow background (#19974)
  providers/oauth2: use compare_digest for client_secret comparison (#19979)
  recovery: consume token in transaction (#19967)
  core: ask for token duration on recovery link/email by admin (#19875)
  core: bump aws-cdk-lib from 2.236.0 to 2.237.0 (#19958)
  web: bump the storybook group across 1 directory with 5 updates (#19960)
  core: bump library/nginx from `c881927` to `7fe5dda` in /website (#19961)
  core: bump gunicorn from 25.0.0 to 25.0.1 (#19959)
  core: bump goauthentik.io/api/v3 to 3.2026.2.0-rc1-1770129730 (#19973)
  lifecycle: bump shm size (#19369)
  crypto: Add ED25519 and ED448 support to the certificate builder (#19465)
  web/admin: Register stage elements. Fix linter warnings (#19948)
  web: bump knip from 5.82.1 to 5.83.0 in /web (#19962)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Mismatch of "Signature algorithm" and selected certificate causes generic server error

3 participants