It’s fairly easy to fix on the SSO provider end, but if it’s not fixed there the forum will appear to be broken.
For fixing it on Discourse, it’s possible to check if the user is suspended and login is required in the sso_login method. If true, redirect them back to the SSO provider, either to an sso_suspended_url that’s added as a site setting, or to the sso_url with some query parameters that the SSO provider can make use of.