The predicate bean named shibboleth.Conditions.BrowserProfile returns true if the currently executing profile is one that assumes/expects the client is a browser. It's primarily used to detect the inverse, when the client may not be a browser, to avoid returning HTML.

It requires no parameterization and can be referenced directly by name.


<!-- A condition that's true for ECP and any other non-browser flows. --> <bean parent="shibboleth.conditions.NOT" c:_0-ref="shibboleth.Conditions.BrowserProfile"/>

When the ProfileRequestContext is available, you can often script this directly by calling the isBrowserProfile() method. The equivalent to the NOT condition above would be:

  <transition on="#{!opensamlProfileRequestContext.isBrowserProfile()}" to="Somewhere" />