View Source SmeeView.Aspects.IdP (SmeeView v0.2.0)

This aspect contains a bundle of related aspects for the IdP role of an entity.

Since displaynames, descriptions, URLs, etc are often used together this Aspect exists to make gathering them all a little simpler.

You can extract and process each of the different types of aspects using their own View modules:

Summary

Functions

Lists of attributes associated with this role

Lists MDUI displaynames used by this role

Lists MD Disco domain hints as domain aspects

List MD Disco geolocation hints as geolocation aspects

Is this aspect relevant to the IdP role?

Lists public keys for this role

Lists MD Disco keyword sets as Keywords aspects

Lists MDUI logos used by this role

List NameID format URIs as aspects

Lists MDDisco IPHints as Network aspects

Returns a list of protocol aspects for this role

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

Lists Shibboleth domain scopes used by the IdP (not oauth/OIDC scopes)

Lists all types of services for this role

Is this aspect relevant to the SP role?

Returns true if the IdP demands Authn requests to be signed

Types

@type t() :: %SmeeView.Aspects.IdP{
  attributes: list(),
  displaynames: list(),
  domains: list(),
  error_url: nil | binary(),
  geolocations: list(),
  keys: list(),
  keywords: list(),
  logos: list(),
  nameid_formats: list(),
  networks: list(),
  protocols: list(),
  scopes: list(),
  services: list(),
  want_authn_requests_signed: boolean()
}

Functions

@spec attributes(aspect :: t()) :: list()

Lists of attributes associated with this role

IdP.attributes(aspect)
# => [%Attribute{}, %Attribute{}]
@spec displaynames(aspect :: t()) :: list()

Lists MDUI displaynames used by this role

IdP.displaynames(aspect)
# => [%Displayname{}, %Displayname{}, %Displayname{}]
@spec domains(aspect :: t()) :: list()

Lists MD Disco domain hints as domain aspects

IdP.domains(aspect)
# => [%Domain{}]
@spec geolocations(aspect :: t()) :: list()

List MD Disco geolocation hints as geolocation aspects

IdP.geolocations(aspect)
# => [Geolocation{},Geolocation{}]
@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.

IdP.idp?(aspect)
# => true
@spec keys(aspect :: t()) :: list()

Lists public keys for this role

IdP.keys(aspect)
# => [%Key{}, %Key{}]
@spec keywords(aspect :: t()) :: list()

Lists MD Disco keyword sets as Keywords aspects

IdP.keywords(aspect)
# => [Keywords{}]
@spec logos(aspect :: t()) :: list()

Lists MDUI logos used by this role

IdP.logos(aspect)
# => [Logo{}, Logo{}, Logo{}]
@spec nameid_formats(aspect :: t()) :: list()

List NameID format URIs as aspects

IdP.nameid_formats(aspect)
# => [%NameID{}]
@spec networks(aspect :: t()) :: list()

Lists MDDisco IPHints as Network aspects

IdP.networks(aspect)
# => [%Network{}, %Network{}]
@spec protocols(aspect :: t()) :: list()

Returns a list of protocol aspects for this role

IdP.protocols(aspect)
# => [%Protocol{}, %Protocol{}]
@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.

IdP.role(aspect)
# => :idp
@spec scopes(aspect :: t()) :: list()

Lists Shibboleth domain scopes used by the IdP (not oauth/OIDC scopes)

IdP.scopes(aspect)
# => [%Scope{regex: false, domain: "unseen.edu"}]
@spec services(aspect :: t()) :: list()

Lists all types of services for this role

IdP.services(aspect)
# => [%SingleSignOnService{}, %SingleLogoutService{}]
@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.

IdP.sp?(aspect)
# => false
Link to this function

want_authn_requests_signed?(aspect)

View Source
@spec want_authn_requests_signed?(aspect :: t()) :: boolean()

Returns true if the IdP demands Authn requests to be signed

IdP.want_authn_requests_signed?(aspect)
# => false