IMPORTMETADATA(1)

πŸ’– IMPORTMETADATA(1) β€” the importMetadata glow-up πŸ’–

okay bestie, gather round, because this is the importMetadata page from the User Contributed Perl Documentation section, and it's literally the script that slurps SAML federation metadata straight into your LL::NG config. no cap. πŸ¦‹


✨ NAME ✨

importMetadata β€” a script to import SAML federation metadata into LL::NG configuration. that's it, that's the vibe. πŸ’…


🌸 SYNOPSIS 🌸

importMetadata -m <metadata URL> [options]

Options:

-m, --metadata          URL of metadata document
-i, --idpconfprefix     Prefix used to set IDP configuration key
-s, --spconfprefix      Prefix used to set SP configuration key
--ignore-sp             ignore SP matching this entityID (can be specified multiple times)
--ignore-idp            ignore IdP matching this entityID (can be specified multiple times)
-a, --nagios            output statistics in Nagios format
-r, --remove            remove provider from LemonLDAP::NG if it does not appear in metadata
-n, --dry-run           print statistics but do not apply changes
-c, --config-file       use provided configuration file
-v, --verbose           increase verbosity of output
-h, --help              print full documentation

πŸ‘‘ OPTIONS πŸ‘‘

every single flag, no skips, we're thorough in this house 🫢

  • -m URL, --metadata=URL β€” tells the script which <URL> holds the metadata document you wanna import. the main character of this whole operation, honestly.
  • -i PREFIX, --idpconfprefix=PREFIX β€” sticks <PREFIX> on the front of every IDP it finds in the metadata document when it registers them into LemonLDAP::NG. yes, every single one. πŸŽ€
  • -s PREFIX, --spconfprefix=PREFIX β€” same energy, but for SPs: it prefixes each SP found in the metadata document with <PREFIX> when registering them into LemonLDAP::NG.
  • --ignore-sp=ENTITYID β€” ignore this specific Service Provider <ENTITYID>. it will not be added, updated or deleted from your LemonLDAP::NG configuration. it's in its ignore era, leave it alone πŸ™ˆ
  • --ignore-idp=ENTITYID β€” ignore this specific Identity Provider <ENTITYID>. also not added, updated, or deleted from LemonLDAP::NG configuration. iconic boundary-setting fr fr.
  • -a, --nagios β€” after every run, it prints the stats about added/modified/deleted items in Nagios format. monitoring besties, this one's for you πŸ“Š
  • -r, --remove β€” if you use this, then after a successful import, any existing SP/IDPs that match the configuration prefix get removed from LemonLDAP::NG if they weren't present in the imported metadata. it's giving spring cleaning, so be sure you mean it 🧹
  • -n, --dry-run β€” this stops the modified configuration from being saved. perfect for testing, zero commitment, we love a trial run. πŸ’€
  • -c, --config-file β€” using a config file lets you do advanced configuration on a global per-provider basis. the config file lives in .ini format. here's an example file, verbatim, don't touch the punctuation:
# main script options, these will be overriden by the CLI options
[main]
dry-run=1
verbose=1
metadata=http://url/to/metadata.xml
; Multi-value options
ignore-idp=entity-id-to-ignore-1
ignore-idp=entity-id-to-ignore-2

# Default exported attributes for IDPs
[exportedAttributes]
cn=0;cn
eduPersonPrincipalName=0;eduPersonPrincipalName
...

# options that apply to all providers
[ALL]
; Disable signature requirement on requests
samlSPMetaDataOptionsCheckSSOMessageSignature=0
samlSPMetaDataOptionsCheckSLOMessageSignature=0
; Store SAML assertions in session
samlIDPMetaDataOptionsStoreSAMLToken=1
; Mark ePPN as always required
attribute_required_eduPersonPrincipalName=1
...

# Specific provider configurations
[https://test-sp.federation.renater.fr]
; All attributes are optional for this provider
attribute_required=0
; Override some options
samlSPMetaDataOptionsNameIDFormat=persistent

[https://idp.renater.fr/idp/shibboleth]
; declare an extra attribute from this provider
exported_attribute_eduPersonAffiliation=1;uid
  • -v, --verbose β€” cranks up the verbosity while the script is running. more words, more insight, more ✨lore✨
  • -h, --help β€” shows you the script's documentation. hi bestie, you're already here tho πŸ’–

πŸ” SEE ALSO πŸ”


🫢 AUTHORS 🫢

Clement Oudot, <clement@oodo.net>


πŸ› BUG REPORT πŸ›

use the OW2 system to report a bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>


🌈 DOWNLOAD 🌈

Lemonldap::NG is available at <https://lemonldap-ng.org/download>


and that's the whole page, bestie. every flag, every prefix, every ENTITYID, exactly where it belongs. no details lost, only vibes added. πŸ’…

this has been IMPORTMETADATA(1) from perl v5.42.3, dated 2026-09-24 β€” thanks for scrolling with me, mwah πŸŽ€

πŸ“¦ where this page comes from