.. index:: single: http_oauth_introspection_client .. _http_oauth_introspection_client/0: .. rst-class:: right **object** ``http_oauth_introspection_client`` =================================== OAuth token introspection HTTP client following RFC 7662. | **Availability:** | ``logtalk_load(http_oauth(loader))`` | **Author:** Paulo Moura | **Version:** 1:0:0 | **Date:** 2026-09-01 | **Compilation flags:** | ``static, context_switching_calls`` | **Imports:** | ``public`` :ref:`options ` | ``public`` :ref:`http_oauth_helpers ` | **Uses:** | :ref:`http_authenticate ` | :ref:`http_core ` | :ref:`http_oauth ` | :ref:`list ` | :ref:`url(Representation) ` | **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 Public predicates ----------------- .. index:: introspect/4 .. _http_oauth_introspection_client/0::introspect/4: ``introspect/4`` ^^^^^^^^^^^^^^^^ Introspects an access token using an authenticated form POST and returns normalized introspection data. | **Compilation flags:** | ``static`` | **Template:** | ``introspect(Endpoint,Token,Introspection,Options)`` | **Mode and number of proofs:** | ``introspect(+atom,+atom,-compound,+list(compound))`` - ``one_or_error`` | **Exceptions:** | ``Options`` is a variable: | ``instantiation_error`` | ``Options`` is neither a variable nor a list: | ``type_error(list,Options)`` | An element ``Option`` of the list ``Options`` is a variable: | ``instantiation_error`` | 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)`` | ``Options`` does not include a client authentication option: | ``domain_error(http_oauth_introspection_options,Options)`` | ``Endpoint`` is not an HTTPS URL or an explicitly allowed loopback HTTP URL: | ``domain_error(http_oauth_introspection_endpoint,Endpoint)`` | ``Token`` is not a valid RFC 6750 Bearer token: | ``domain_error(http_oauth_introspection_token,Token)`` | The Basic client authentication username is invalid: | ``domain_error(http_authenticate_value(username),ClientId)`` | The introspection endpoint returned a non-success status code: | ``domain_error(http_oauth_introspection_status,Code)`` | The introspection response body is not JSON content: | ``domain_error(http_oauth_introspection_response,Body)`` | The introspection response JSON value is not an object: | ``domain_error(http_oauth_introspection_response,JSON)`` | The introspection response has invalid ``active`` member values ``Values``: | ``domain_error(http_oauth_introspection_active,Values)`` | The introspection response has duplicate values ``Values`` for optional member ``Name``: | ``domain_error(http_oauth_introspection_member(Name),Values)`` | The introspection response has invalid ``scope`` member value ``Value``: | ``domain_error(http_oauth_scope,Value)`` | An option passed using ``http_options/1`` is not a valid HTTP client request option: | ``domain_error(http_client_request_option,Option)`` | The delegated HTTP client rejects the response stream: | ``domain_error(http_response_stream,Error)`` ------------ Protected predicates -------------------- (no local declarations; see entity ancestors if any) Private predicates ------------------ (no local declarations; see entity ancestors if any) Operators --------- (none)