View Source SmeeView.Aspects.RequestedAttribute (SmeeView v0.2.1)

Represents and processes <RequestedAttribute> elements in entity metadata as Aspect structs.

The functions in this module are intended to be applied to individual Aspect structs - for extracting and processing collections of these records please use the matching View module.

Summary

Functions

Returns the human-readable name for this attribute

Is this aspect relevant to the IdP role?

Returns the technical name for this attribute

Returns for technical name format for this attribute

Returns true if the attribute is optional

Returns true if the attribute is required

Returns the associated role for this aspect: :sp, :idp or :all

Is this a SAML1 attribute? Returns true if passed a SAML1 attribute.

Is this a SAML2 attribute? Returns true if a passed SAML2 attribute

Is this aspect relevant to the SP role?

Types

@type t() :: %SmeeView.Aspects.RequestedAttribute{
  friendly_name: binary(),
  name: binary(),
  name_format: binary(),
  required: boolean()
}

Functions

@spec friendly_name(aspect :: t()) :: binary()

Returns the human-readable name for this attribute

RequestedAttribute.friendly_name(aspect)
# => "eduPersonScopedAffiliation"
@spec idp?(aspect :: t()) :: boolean()

Is this aspect relevant to the IdP role?

Will return true if the aspect has been derived from an IdP role, or is applicable to all roles.

RequestedAttribute.idp?(aspect)
# => true
@spec name(aspect :: t()) :: binary()

Returns the technical name for this attribute

RequestedAttribute.name(aspect)
# => "urn:oid:1.3.6.1.4.1.5923.1.1.1.9"
@spec name_format(aspect :: t()) :: binary()

Returns for technical name format for this attribute

(It'll almost certainly be "urn:oasis:names:tc:SAML:2.0:attrname-format:uri")

RequestedAttribute.name_format(aspect)
# => "urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
@spec optional?(aspect :: t()) :: boolean()

Returns true if the attribute is optional

SmeeView.Aspects.RequestedAttribute.optional?(aspect)
# => true
@spec required?(aspect :: t()) :: boolean()

Returns true if the attribute is required

SmeeView.Aspects.RequestedAttribute.required?(aspect)
# => false
@spec role(aspect :: t()) :: atom()

Returns the associated role for this aspect: :sp, :idp or :all

The role type is useful when handling a mixed list of aspects that may be specific to certain roles of an entity.

RequestedAttribute.role(aspect)
# => :idp
@spec saml1?(aspect :: t()) :: boolean()

Is this a SAML1 attribute? Returns true if passed a SAML1 attribute.

RequestedAttribute.saml1?(aspect)
# => false
@spec saml2?(aspect :: t()) :: boolean()

Is this a SAML2 attribute? Returns true if a passed SAML2 attribute

RequestedAttribute.saml2?(aspect)
# => true
@spec sp?(aspect :: t()) :: boolean()

Is this aspect relevant to the SP role?

Will return true if the aspect has been derived from an SP role, or is applicable to all roles.

RequestedAttribute.sp?(aspect)
# => false