Package net.shibboleth.idp.admin

# Interface AdministrativeFlowDescriptor

All Superinterfaces:
  `AttributeResolvingProfileConfiguration`, `AuthenticationProfileConfiguration`, `Component`, `DestructableComponent`, `FlowDescriptor`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`, `ProfileConfiguration`

All Known Implementing Classes:
  `BasicAdministrativeFlowDescriptor`, `OneTimeAdministrativeFlowDescriptor`

public interface AdministrativeFlowDescriptor extends FlowDescriptor, AuthenticationProfileConfiguration, AttributeResolvingProfileConfiguration
A descriptor for an administrative flow.

Administrative flows are essentially any feature intrinsic to the IdP itself and generally not exposed to external systems using security mechanisms that would involve the more traditional "relying party" machinery and security models. Examples include status reporting and service management features, or user self-service features.

Since:
  3.3.0

## Field Summary

### Fields inherited from interface net.shibboleth.profile.config.ProfileConfiguration

`DEFAULT_DISALLOWED_FEATURES`

## Method Summary

Modifier and Type
Method
Description
`String`
`getLoggingId()`
Get a logging ID to use when auditing this profile.
`String`
`getPolicyName(ProfileRequestContext profileRequestContext)`
Get the access control policy for this flow.
`UIInfo`
`getUIInfo()`
Get the user interface details for this profile.
`boolean`
`isAuthenticated(ProfileRequestContext profileRequestContext)`
Get whether user authentication is required (default is false).
`default boolean`
`isLocal()`
Get whether this profile is for functionality local to the IdP.
`boolean`
`isNonBrowserSupported(ProfileRequestContext profileRequestContext)`
Get whether this flow supports non-browser clients (default is true).

### Methods inherited from interface net.shibboleth.profile.config.AttributeResolvingProfileConfiguration

`getAttributeRecipientGroupID, getRequestedIdPAttributeNames, isResolveAttributes`

### Methods inherited from interface net.shibboleth.idp.authn.config.AuthenticationProfileConfiguration

`getAuthenticationFlows, getDefaultAuthenticationMethods, getMaxAge, getPostAuthenticationFlows, getProxyCount, isForceAuthn`

### Methods inherited from interface net.shibboleth.shared.component.DestructableComponent

`destroy, isDestroyed`

### Methods inherited from interface net.shibboleth.shared.component.IdentifiableComponent

`setId`

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

`initialize, isInitialized`

### Methods inherited from interface net.shibboleth.profile.config.ProfileConfiguration

`getDisallowedFeatures, getSecurityConfiguration, isFeatureDisallowed`

## Method Details

### getLoggingId

@Nullable String getLoggingId()
Get a logging ID to use when auditing this profile.

Returns:
  logging ID

### isNonBrowserSupported

boolean isNonBrowserSupported(@Nullable ProfileRequestContext profileRequestContext)
Get whether this flow supports non-browser clients (default is true).

Parameters:
  `profileRequestContext` - current profile request context
Returns:
  whether this flow supports non-browser clients

### isAuthenticated

boolean isAuthenticated(@Nullable ProfileRequestContext profileRequestContext)
Get whether user authentication is required (default is false).

Parameters:
  `profileRequestContext` - current profile request context
Returns:
  whether user authentication is required

### getUIInfo

@Nullable UIInfo getUIInfo()
Get the user interface details for this profile.

Returns:
  user interface details

### getPolicyName

@Nullable String getPolicyName(@Nullable ProfileRequestContext profileRequestContext)
Get the access control policy for this flow.

Parameters:
  `profileRequestContext` - current profile request context
Returns:
  name of access control policy

### isLocal

default boolean isLocal()
Get whether this profile is for functionality local to the IdP.

Most authentication profiles are non-local, designed to issue security tokens to other systems, so this is generally false.

Specified by:
  `isLocal` in interface `AuthenticationProfileConfiguration`
Returns:
  true iff the use of the associated profile is local to the IdP