View Source API Reference Smee v0.5.0
Modules
Smee
is a pragmatic library for handling SAML metadata with Elixir, Erlang or any other BEAM language.
Smee
wraps up metadata for individual entities in %Entity{} structs, and the Smee.Entity
module contains
functions that may be useful when working with them.
Processes %Metadata{}
structs to extract various information, usually using XSLT.
Downloads or loads the metadata specified in a %Smee.Source{}
struct and returns a %Smee.Metadata{}
struct.
Process a stream of entities to include or exclude entity structs matching the specified criteria.
Lint runs basic XML quality checks against XML strings
Smee.MDQ
provides a client API to MDQ services, and also attempts to emulate MDQ-style behaviour with old-fashioned
metadata aggregates. MDQ allows individual entities to be looked up when needed without downloading and processing
an increasingly enormous metadata aggregate file.
The Metadata module wraps up Metadata XML into a struct and contains functions that may be helpful when working with them. The metadata is either an aggregate (as used by federations to contain many entity records) or a single entity.
Publishes/exports streams, lists or text files of entity structs in various formats.
Smee.Security
uses XML signatures to provide anti-tampering and origin authentication features.
Smee.Sigils
provides a version of SweetXml's ~x
sigil for creating XPaths, optimised for working with SAML
metadata. All of Smee's known XML namespaces will be automatically loaded for you.
Defines sources for metadata, which can then be Fetch
ed and prodoce Metadata structs. Source structs are the
usual starting-place for Smee tasks.
A collection of simple statistics tools that use streams of entity structs (and maybe lists)
Contains utility functions for integrating Smee with larger applications, managing caches and working files, and so on.
Tools for manipulating metadata XML.
Mix Tasks
Install backend CLI commands required by Smee