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

Represents and processes <NameIDMappingService> 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 binding type for this endpoint/service

Returns the endpoint URL for this endpoint/service.

Is this aspect relevant to the IdP role?

Returns the index type for this endpoint/service, as an integer.

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

Is this aspect relevant to the SP role?

Is the URL for this endpoint/service valid? Returns true if the endpoint URL can be parsed

Types

@type t() :: %SmeeView.Aspects.NameidMappingService{
  binding: binary(),
  index: integer(),
  location: binary()
}

Functions

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

Returns the binding type for this endpoint/service

NameidMappingService.binding(aspect)
# => "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
@spec endpoint(aspect :: t()) :: binary()

Returns the endpoint URL for this endpoint/service.

Aspects containing URLs are printable and can be converted to strings using Kernel.to_string/1 or interpolated into another string.

NameidMappingService.endpoint(aspect)
# => "https://test.ukfederation.org.uk/Shibboleth.sso/SAML2/POST"
@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.

NameidMappingService.idp?(aspect)
# => true
@spec index(aspect :: t()) :: integer()

Returns the index type for this endpoint/service, as an integer.

NameidMappingService.index(aspect)
# => 1
@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.

NameidMappingService.role(aspect)
# => :idp
@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.

NameidMappingService.sp?(aspect)
# => false
@spec valid?(aspect :: t()) :: boolean()

Is the URL for this endpoint/service valid? Returns true if the endpoint URL can be parsed

NameidMappingService.valid?(aspect)
# => true