Package net.shibboleth.idp.authn.principal

# Class ProxyAuthenticationPrincipal

java.lang.Object
net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal

All Implemented Interfaces:
  `Principal`, `Predicate<ProfileRequestContext>`

public class ProxyAuthenticationPrincipal extends Object implements Principal, Predicate<ProfileRequestContext>
Principal that wraps a set of proxied authentication authorities and any restrictions on subsequent re-use.

The `Predicate` interface implements restriction logic that returns true iff the restrictions embedded in the object do NOT apply to the input request.

Since:
  3.4.0

## Field Summary

Fields
Modifier and Type
Field
Description
`private Set<String>`
`audiences`
The audiences.
`private Collection<String>`
`authorities`
The authorities.
`private Integer`
`proxyCount`
Constrains additional proxy hops.

## Constructor Summary

Constructors
Constructor
Description
`ProxyAuthenticationPrincipal()`
Constructor.
`ProxyAuthenticationPrincipal(Collection<String> proxiedAuthorities)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object other)`
`Set<String>`
`getAudiences()`
Get the mutable audience set, the set of relying parties for which proxying is permissable.
`Collection<String>`
`getAuthorities()`
Get the mutable authority collection.
`String`
`getName()`
`Integer`
`getProxyCount()`
Gets the number of additional proxy hops that should be permitted.
`int`
`hashCode()`
`void`
`setProxyCount(Integer count)`
Sets the number of additional proxy hops that should be permitted.
`boolean`
`test(ProfileRequestContext input)`
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.function.Predicate

`and, negate, or`

### Methods inherited from interface java.security.Principal

`implies`

## Field Details

### authorities

@Nonnull private Collection<String> authorities
The authorities.

### audiences

@Nonnull private Set<String> audiences
The audiences.

### proxyCount

@Nullable private Integer proxyCount
Constrains additional proxy hops.

## Constructor Details

### ProxyAuthenticationPrincipal

public ProxyAuthenticationPrincipal()
Constructor.

### ProxyAuthenticationPrincipal

public ProxyAuthenticationPrincipal(@Nonnull Collection<String> proxiedAuthorities)
Constructor.

Parameters:
  `proxiedAuthorities` - initial set of authorities

## Method Details

### getName

@Nonnull @NotEmpty public String getName()

Specified by:
  `getName` in interface `Principal`

### getAuthorities

@Nonnull @Live public Collection<String> getAuthorities()
Get the mutable authority collection.

Returns:
  the authorities

### getAudiences

@Nonnull @Live public Set<String> getAudiences()
Get the mutable audience set, the set of relying parties for which proxying is permissable.

Returns:
  the audiences

### getProxyCount

@Nullable @NonNegative public Integer getProxyCount()
Gets the number of additional proxy hops that should be permitted.

A value of 0 disallows further proxying, while a null implies no limit.

Returns:
  proxy count
Since:
  4.0.0

### setProxyCount

public void setProxyCount(@Nullable @NonNegative Integer count)
Sets the number of additional proxy hops that should be permitted.

A value of 0 disallows further proxying, while a null implies no limit.

Parameters:
  `count` - proxy count
Since:
  4.0.0

### test

public boolean test(@Nullable ProfileRequestContext input)

Specified by:
  `test` in interface `Predicate<ProfileRequestContext>`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in interface `Principal`
Overrides:
  `hashCode` in class `Object`

### equals

public boolean equals(Object other)

Specified by:
  `equals` in interface `Principal`
Overrides:
  `equals` in class `Object`

### toString

public String toString()

Specified by:
  `toString` in interface `Principal`
Overrides:
  `toString` in class `Object`