Skip to main content

SAML SSO Login Issue – Blackboard SP Sending POST Request Instead of GET

Description

SSO login may fail when the client’s identity provider requires a different login method than the one used by Learn.

Steps to Replicate

  1. Login to Blackboard Learn as administrator

  2. Configure a SAML authentication provider using IdP metadata that contains only HTTP-Redirect as the SingleSignOnService binding

  3. Open the browser Developer Tools, select Network, and enable Preserve log

  4. Sign out of Blackboard Learn

  5. Start the SAML SSO login from the Blackboard Learn sign-in page

  6. Locate the request sent from Blackboard Learn to the IdP

  7. Verify the request method:

  8. Affected build: Blackboard Learn sends the SAML AuthnRequest using POST, and the login fails.

  9. Fixed build: Blackboard Learn sends the request using GET/Redirect, and the login succeeds.

  10. Inspect the decoded SAML AuthnRequest

  11. Do not use the ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" attribute to determine the outbound request method. This attribute tells the IdP how to return the SAML response to Blackboard Learn, so seeing HTTP-POST here is expected

  12. Repeat the test with the following IdP metadata combinations:

  13. HTTP-POST only: Request should use POST

  14. HTTP-Redirect only: Request should use GET

  15. Redirect listed before POST: Request should use GET

  16. POST listed before Redirect: Request should use POST

  17. Confirm that the fixed build uses the first supported binding listed in the IdP metadata, while the affected build always uses POST. These are the comparison conditions documented in Bug 701684 SAML SSO Login Issue – Blackboard SP Sending POST Request Instead of GET

Observed Behavior:

When SAML SSO is configured with an Identity Provider (IdP) that supports only HTTP-Redirect, Blackboard Learn sends the authentication request using HTTP POST. The IdP rejects the request, preventing users from logging in.

Expected Behavior

Should read the IdP metadata and send the authentication request using the supported binding, which is HTTP-Redirect (GET) in this scenario, allowing users to log in successfully.

Affected Versions

  • Learn 4001.0.0

Target Release

SaaS Fixed(4001.0.0)

Did this answer your question?