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

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:

Link to this section 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

Link to this section Types

Specs

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

Link to this section Functions

Specs

attributes(aspect :: t()) :: list()

Lists of attributes associated with this role

IdP.attributes(aspect)
# => [%Attribute{}, %Attribute{}]

Specs

displaynames(aspect :: t()) :: list()

Lists MDUI displaynames used by this role

IdP.displaynames(aspect)
# => [%Displayname{}, %Displayname{}, %Displayname{}]

Specs

domains(aspect :: t()) :: list()

Lists MD Disco domain hints as domain aspects

IdP.domains(aspect)
# => [%Domain{}]

Specs

geolocations(aspect :: t()) :: list()

List MD Disco geolocation hints as geolocation aspects

IdP.geolocations(aspect)
# => [Geolocation{},Geolocation{}]

Specs

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

Specs

keys(aspect :: t()) :: list()

Lists public keys for this role

IdP.keys(aspect)
# => [%Key{}, %Key{}]

Specs

keywords(aspect :: t()) :: list()

Lists MD Disco keyword sets as Keywords aspects

IdP.keywords(aspect)
# => [Keywords{}]

Specs

logos(aspect :: t()) :: list()

Lists MDUI logos used by this role

IdP.logos(aspect)
# => [Logo{}, Logo{}, Logo{}]

Specs

nameid_formats(aspect :: t()) :: list()

List NameID format URIs as aspects

IdP.nameid_formats(aspect)
# => [%NameID{}]

Specs

networks(aspect :: t()) :: list()

Lists MDDisco IPHints as Network aspects

IdP.networks(aspect)
# => [%Network{}, %Network{}]

Specs

protocols(aspect :: t()) :: list()

Returns a list of protocol aspects for this role

IdP.protocols(aspect)
# => [%Protocol{}, %Protocol{}]

Specs

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

Specs

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"}]

Specs

services(aspect :: t()) :: list()

Lists all types of services for this role

IdP.services(aspect)
# => [%SingleSignOnService{}, %SingleLogoutService{}]

Specs

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

Specs

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