| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.101.0/docs/apis/_sources/open_id_client_0.rst.txt |
.. index:: single: open_id_client .. _open_id_client/0:
.. rst-class:: right
object
open_id_clientHTTP-facing OpenID Connect client predicates.
| Availability:
| logtalk_load(open_id(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-07-09
| Compilation flags:
| static, context_switching_calls
| Imports:
| public :ref:`open_id_helpers <open_id_helpers/0>`
| Uses:
| :ref:`base64 <base64/0>`
| :ref:`http_client <http_client/0>`
| :ref:`http_core <http_core/0>`
| :ref:`list <list/0>`
| :ref:`open_id_discovery <open_id_discovery/0>`
| :ref:`user <user/0>`
| Remarks: | (none)
| Inherited public predicates: | Â :ref:`options_protocol/0::check_option/1` Â :ref:`options_protocol/0::check_options/1` Â :ref:`options_protocol/0::default_option/1` Â :ref:`options_protocol/0::default_options/1` Â :ref:`options_protocol/0::option/2` Â :ref:`options_protocol/0::option/3` Â :ref:`options_protocol/0::valid_option/1` Â :ref:`options_protocol/0::valid_options/1` Â
.. contents:: :local: :backlinks: top
.. index:: discover/3 .. _open_id_client/0::discover/3:
discover/3 ^^^^^^^^^^^^^^
Discovers and validates OpenID Provider metadata for the given issuer.
| Compilation flags:
| static
| Template:
| discover(Issuer,Provider,Options)
| Mode and number of proofs:
| discover(+atom,-compound,+list(compound)) - one_or_error
| Exceptions:
| Options is a variable or a partial list:
| instantiation_error
| Options 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)
| Issuer is a variable:
| instantiation_error
| Issuer is not an absolute or allowed issuer URL:
| domain_error(open_id_issuer,Issuer)
| The discovery endpoint returned a non-success status:
| domain_error(open_id_http_status,Code)
| The discovery endpoint response body is not JSON:
| domain_error(open_id_json_response,Body)
| The discovered issuer does not match Issuer:
| domain_error(open_id_issuer,DiscoveredIssuer)
| A provider metadata URL is not secure:
| domain_error(open_id_provider_metadata_url,URL)
.. index:: jwks/3 .. _open_id_client/0::jwks/3:
jwks/3 ^^^^^^^^^^
Fetches the JSON Web Key Set for the given provider metadata.
| Compilation flags:
| static
| Template:
| jwks(Provider,JWKSet,Options)
| Mode and number of proofs:
| jwks(+compound,-term,+list(compound)) - one_or_error
| Exceptions:
| Options is a variable or a partial list:
| instantiation_error
| Options 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 JWKS endpoint returned a non-success status:
| domain_error(open_id_http_status,Code)
| The JWKS endpoint response body is not JSON:
| domain_error(open_id_json_response,Body)
.. index:: exchange_code/5 .. _open_id_client/0::exchange_code/5:
exchange_code/5 ^^^^^^^^^^^^^^^^^^^
Exchanges an authorization code for token response data.
| Compilation flags:
| static
| Template:
| exchange_code(Provider,Code,Session,Tokens,Options)
| Mode and number of proofs:
| exchange_code(+compound,+atom,+compound,-compound,+list(compound)) - one_or_error
| Exceptions:
| Options is a variable or a partial list:
| instantiation_error
| Options 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)
| Session is missing required authorization-code exchange data:
| domain_error(open_id_session,missing(Session,Name))
| The token endpoint returned a non-success status:
| domain_error(open_id_http_status,Code)
| The token endpoint response body is not JSON:
| domain_error(open_id_json_response,Body)
| The token endpoint JSON response is missing a required member:
| domain_error(open_id_token_response,missing(Name))
.. index:: refresh_token/4 .. _open_id_client/0::refresh_token/4:
refresh_token/4 ^^^^^^^^^^^^^^^^^^^
Exchanges a refresh token for token response data.
| Compilation flags:
| static
| Template:
| refresh_token(Provider,RefreshToken,Tokens,Options)
| Mode and number of proofs:
| refresh_token(+compound,+atom,-compound,+list(compound)) - one_or_error
| Exceptions:
| Options is a variable or a partial list:
| instantiation_error
| Options 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 client_id option is missing:
| domain_error(open_id_refresh_token,missing(client_id))
| The token endpoint returned a non-success status:
| domain_error(open_id_http_status,Code)
| The token endpoint response body is not JSON:
| domain_error(open_id_json_response,Body)
| The token endpoint JSON response is missing a required member:
| domain_error(open_id_token_response,missing(Name))
.. index:: userinfo/4 .. _open_id_client/0::userinfo/4:
userinfo/4 ^^^^^^^^^^^^^^
Fetches UserInfo claims using the given access token.
| Compilation flags:
| static
| Template:
| userinfo(Provider,AccessToken,Claims,Options)
| Mode and number of proofs:
| userinfo(+compound,+atom,-term,+list(compound)) - one_or_error
| Exceptions:
| Options is a variable or a partial list:
| instantiation_error
| Options 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 provider metadata is missing a UserInfo endpoint:
| domain_error(open_id_provider,missing(userinfo_endpoint))
| The UserInfo endpoint returned a non-success status:
| domain_error(open_id_http_status,Code)
| The UserInfo endpoint response body is not JSON:
| domain_error(open_id_json_response,Body)
(no local declarations; see entity ancestors if any)
(no local declarations; see entity ancestors if any)
(none)