AcsEndpoint
in package
implements
JsonSerializable
One `AssertionConsumerService` endpoint of a service provider. The list of these is an **allow-list**, checked the way OAuth2 redirect URIs are: an `AuthnRequest` naming an ACS URL is honoured only when the URL equals one registered here, byte for byte. No globs, no prefix match.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $binding : SamlBinding
- $index : int
- $isDefault : bool|null
- $url : string
Methods
- __construct() : mixed
- Constructs a AcsEndpoint.
- fromArray() : self
- Rebuilds a AcsEndpoint from one decoded JSON object.
- jsonSerialize() : array<string, mixed>
- Renders this object for `json_encode()`.
- toArray() : array<string, mixed>
- Renders this object back to its wire form.
- unknownEnumValue() : string|null
- The string the server sent for an open-enum member this SDK has no name for, or `null`.
Properties
$binding read-only
public
SamlBinding
$binding
$index read-only
public
int
$index
$isDefault read-only
public
bool|null
$isDefault
= null
$url read-only
public
string
$url
Methods
__construct()
Constructs a AcsEndpoint.
public
__construct(SamlBinding $binding, int $index, string $url[, bool|null $isDefault = null ]) : mixed
Parameters
- $binding : SamlBinding
-
The binding the endpoint accepts.
- $index : int
-
The
indexanAuthnRequestmay use instead of a URL. Unique per SP. - $url : string
-
The endpoint URL.
- $isDefault : bool|null = null
-
Whether this is the SP's default endpoint. At most one is; when none is marked, the first listed is the default (SAML Metadata §2.4.4.1). (optional)
fromArray()
Rebuilds a AcsEndpoint from one decoded JSON object.
public
static fromArray(array<string, mixed> $data) : self
Parameters
- $data : array<string, mixed>
-
The raw wire object.
Return values
selfjsonSerialize()
Renders this object for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Any Sensitive it carries stays WRAPPED here, so a log line or a
json_encode($model) in application code prints [SENSITIVE]. The one place a secret
is revealed is ManagementTransport, on the way to the wire
and nowhere else (§27.5).
Rendering for a log line never fails: an unknown union arm renders its discriminator and
an unrecognised enum value its empty Unknown spelling here, and only self::toArray() -- the request path -- refuses to send it (CONTRACT.md §31.2, §34.2
P12.2).
Return values
array<string, mixed>toArray()
Renders this object back to its wire form.
public
toArray() : array<string, mixed>
§27.4 rule 5: a null property is OMITTED, not emitted as null. On a sparse update those two say opposite things — "leave this alone" versus "set this to nothing" — and only omission means the first.
Return values
array<string, mixed>unknownEnumValue()
The string the server sent for an open-enum member this SDK has no name for, or `null`.
public
unknownEnumValue(string $wire) : string|null
Only a model decoded by self::fromArray() knows it, and only for a member that
decoded to Unknown (CONTRACT.md §27.6.2 item 4, §34.8 (c)): it lets a refusal name the
value. It is for messages -- it is never rendered by self::toArray() or self::jsonSerialize() and so is never sent.
Parameters
- $wire : string
-
The member's wire name.