SamlServiceProviderInput
in package
implements
JsonSerializable
Everything an administrator supplies when registering or replacing a service provider (`create` and `update` both take it; `update` is a full replacement). Every field but `entity_id`, `display_name` and `acs_urls` has a default, so a client written against a later revision of this struct keeps working.
This is a REPLACEMENT body (§27.4 rule 5): what it omits is not preserved. The required members are constructor parameters, so omitting one is a constructor error; an optional member left unset is omitted from the wire and takes its default server-side.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $acsUrls : array<string|int, mixed>
- $allowedGroups : array<string|int, mixed>|null
- $allowIdpInitiated : bool|null
- $attributeMappings : array<string|int, mixed>|null
- $displayName : string
- $enabled : bool|null
- $encryptAssertions : bool|null
- $entityId : string
- $nameIdFormat : NameIdFormat|null
- $signResponses : bool|null
- $sloBinding : SamlBinding|null
- $sloUrl : string|null
- $spEncryptionCertPem : string|null
- $spSigningCertPem : string|null
- $wantAuthnRequestsSigned : bool|null
Methods
- __construct() : mixed
- Constructs a SamlServiceProviderInput.
- fromArray() : self
- Rebuilds a SamlServiceProviderInput 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
$acsUrls read-only
public
array<string|int, mixed>
$acsUrls
$allowedGroups read-only
public
array<string|int, mixed>|null
$allowedGroups
= null
$allowIdpInitiated read-only
public
bool|null
$allowIdpInitiated
= null
$attributeMappings read-only
public
array<string|int, mixed>|null
$attributeMappings
= null
$displayName read-only
public
string
$displayName
$enabled read-only
public
bool|null
$enabled
= null
$encryptAssertions read-only
public
bool|null
$encryptAssertions
= null
$entityId read-only
public
string
$entityId
$nameIdFormat read-only
public
NameIdFormat|null
$nameIdFormat
= null
$signResponses read-only
public
bool|null
$signResponses
= null
$sloBinding read-only
public
SamlBinding|null
$sloBinding
= null
$sloUrl read-only
public
string|null
$sloUrl
= null
$spEncryptionCertPem read-only
public
string|null
$spEncryptionCertPem
= null
$spSigningCertPem read-only
public
string|null
$spSigningCertPem
= null
$wantAuthnRequestsSigned read-only
public
bool|null
$wantAuthnRequestsSigned
= null
Methods
__construct()
Constructs a SamlServiceProviderInput.
public
__construct(array<int, AcsEndpoint> $acsUrls, string $displayName, string $entityId[, bool|null $allowIdpInitiated = null ][, array<int, string>|null $allowedGroups = null ][, array<int, AttributeMapping>|null $attributeMappings = null ][, bool|null $enabled = null ][, bool|null $encryptAssertions = null ][, NameIdFormat|null $nameIdFormat = null ][, bool|null $signResponses = null ][, SamlBinding|null $sloBinding = null ][, string|null $sloUrl = null ][, string|null $spEncryptionCertPem = null ][, string|null $spSigningCertPem = null ][, bool|null $wantAuthnRequestsSigned = null ]) : mixed
Parameters
- $acsUrls : array<int, AcsEndpoint>
-
The ACS allow-list. At least one, at most one default.
- $displayName : string
-
Human-readable name for the console.
- $entityId : string
-
The SP's
entityID, unique per tenant. At most [MAX_ENTITY_ID_BYTES]. - $allowIdpInitiated : bool|null = null
-
Whether IdP-initiated SSO is allowed for this SP (D-3). A per-SP opt-in, off by default: an unsolicited assertion has no
InResponseToto bind it to a request the SP made. (optional) - $allowedGroups : array<int, string>|null = null
-
Groups whose members may sign in to this SP. Empty means every active user of the tenant may.* Evaluated by the SSO endpoint (T23.2.3). (optional)
- $attributeMappings : array<int, AttributeMapping>|null = null
-
Attribute mapping table, at most [
MAX_ATTRIBUTE_MAPPINGS] entries. (optional) - $enabled : bool|null = null
-
Whether the SP may sign in at all. A disabled SP stays registered but every SSO request for it is refused. (optional)
- $encryptAssertions : bool|null = null
-
Encrypt assertions to the SP's encryption certificate (D-2). Off by default; requires [
Self::sp_encryption_cert_pem]. (optional) - $nameIdFormat : NameIdFormat|null = null
-
NameIDpolicy. Default: persistent, pairwise. (optional) - $signResponses : bool|null = null
-
Sign the
<samlp:Response>envelope as well as the assertion (which is signed always). Defaulttrue: it costs nothing and many SPs require it. (optional) - $sloBinding : SamlBinding|null = null
-
the server's
slo_bindingfield (optional) - $sloUrl : string|null = null
-
Single-logout endpoint, if the SP supports it. (optional)
- $spEncryptionCertPem : string|null = null
-
PEM certificate assertions are encrypted to. Required when
encrypt_assertionsis set. (optional) - $spSigningCertPem : string|null = null
-
PEM certificate the SP signs its
AuthnRequests with. (optional) - $wantAuthnRequestsSigned : bool|null = null
-
Refuse an
AuthnRequestthat is not signed bysp_signing_cert_pem. Requires that certificate. (optional)
fromArray()
Rebuilds a SamlServiceProviderInput 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.