Mix.install([{:shin, ">= 0.2.0"}])
alias Shin.{Metadata, Attributes}
You'll need to change the URL to the base URL of your own IdP service. You'll need access to the admin endpoints (by default this is done with an IP address allow-list)
{:ok, idp} = Shin.idp("https://idp.university.ac.uk/idp")
{:ok, metrics} = Shin.metrics(idp)
{:ok, report} = Shin.report(idp, :system_info)
IO.puts report.cores
{:ok, message} = Shin.reload_service(idp, "shibboleth.AttributeFilterService")
{:ok, attr_data} = Shin.attributes(idp, "https://test.ukfederation.org.uk/entity", "pete")
Shin.Attributes.values(attr_data, "eduPersonEntitlement")
{:ok, saml_assertion_xml} = Shin.assertion(idp, "https://test.ukfederation.org.uk/entity", "pete")
{:ok, metadata_xml} = Shin.metadata(idp, "https://test.ukfederation.org.uk/entity")