Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,12 @@ Enable the [SAML plugin](/plugins/saml/) and provide the information to connect
We also need to provide a value for [`config.session_secret`](/plugins/saml/reference/#schema--config-session-secret), which should be a random 32-character string.

{:.danger}
> This example keeps [`validate_assertion_signature`](/plugins/saml/reference/#schema--config-validate-assertion-signature) set to its default value of `true`, which requires a valid `idp_certificate`.
> If you only want to test the authentication flow without configuring a signing certificate, you can manually set `validate_assertion_signature` to `false`.
> Disabling signature validation is **not secure**. **Do not disable signature validation in production.**

> This example keeps [`validate_assertion_signature`](/plugins/saml/reference/#schema--config-validate-assertion-signature) at its default value of `true`, which requires a valid `idp_certificate`.
> The plugin validates the SAML response signature whenever you configure an `idp_certificate`, even if you set `validate_assertion_signature` to `false`.
> <br><br>
> The plugin skips signature validation only when `validate_assertion_signature` is `false` and no `idp_certificate` is set. It then accepts unsigned responses and logs a warning.
> This state is **not secure**, as an attacker can impersonate any user.
> Always set `idp_certificate`. Never disable signature validation in production.
{% entity_examples %}
entities:
plugins:
Expand Down
4 changes: 4 additions & 0 deletions app/_kong_plugins/saml/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@ The minimum configuration required is:
information from the IdP.
- The issuer (`issuer`): This is the unique identifier of the IdP application.

{:.warning}
> The plugin validates the SAML response signature whenever you set `idp_certificate`, even when [`validate_assertion_signature`](/plugins/saml/reference/#schema--config-validate-assertion-signature) is `false`.
> If you set `validate_assertion_signature` to `false` and don't configure `idp_certificate`, the plugin skips signature validation and accepts unsigned responses, which is insecure. Always set `idp_certificate`.

The plugin currently supports SAML 2.0 with Microsoft Entra. Refer to the
[Microsoft Entra SAML documentation](https://learn.microsoft.com/en-us/entra/architecture/auth-saml)
for more information about SAML authentication with Azure AD.
Expand Down
Loading