View Source API Reference Smee v0.4.1


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.

Publish exports streams or lists of entity structs into 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 Fetched 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