object
open_id_discovery
OpenID Provider discovery metadata helpers.
Availability:
logtalk_load(open_id(loader))Author: Paulo Moura
Version: 1:0:0
Date: 2026-07-08
Compilation flags:
static, context_switching_callsRemarks:
(none)
Inherited public predicates:
Public predicates
discovery_url/2
Builds the discovery metadata URL for an issuer.
Compilation flags:
staticTemplate:
discovery_url(Issuer,URL)Mode and number of proofs:
discovery_url(+atom,-atom) - one_or_errorExceptions:
Issuer is a variable:instantiation_errorIssuer is not an absolute issuer URL:domain_error(open_id_issuer,Issuer)provider/3
Builds validated provider metadata from discovery JSON using default options.
Compilation flags:
staticTemplate:
provider(ExpectedIssuer,JSON,Provider)Mode and number of proofs:
provider(+atom,+term,-compound) - one_or_errorExceptions:
The discovered issuer does not match
ExpectedIssuer:domain_error(open_id_issuer,Issuer)A provider metadata URL is not secure:
domain_error(open_id_provider_metadata_url,URL)provider/4
Builds validated provider metadata from discovery JSON using the given options.
Compilation flags:
staticTemplate:
provider(ExpectedIssuer,JSON,Provider,Options)Mode and number of proofs:
provider(+atom,+term,-compound,+list(compound)) - one_or_errorExceptions:
Options is a variable or a partial list:instantiation_errorOptions is neither a variable nor a list:type_error(list,Options)An element
Option of the list Options is neither a variable nor a compound term:type_error(compound,Option)An element
Option of the list Options is a compound term but not a valid option:domain_error(option,Option)The discovered issuer does not match
ExpectedIssuer:domain_error(open_id_issuer,Issuer)A provider metadata URL is not secure:
domain_error(open_id_provider_metadata_url,URL)property/3
Looks up a property in validated provider metadata.
Compilation flags:
staticTemplate:
property(Provider,Name,Value)Mode and number of proofs:
property(+compound,+atom,-term) - zero_or_oneProtected predicates
(no local declarations; see entity ancestors if any)
Private predicates
(no local declarations; see entity ancestors if any)
Operators
(none)