ores.iam.client

Table of Contents

1. Diagram

ores.iam.client component diagram

Figure 1: ores.iam.client

2. Summary

ores.iam.client is a lightweight client-side library that manages IAM session state for UI components and other service consumers. It provides a service_token_provider that holds an authenticated session token, handles token renewal, and supplies the token to outgoing NATS requests. It abstracts the IAM authentication protocol so consumers do not need to implement the login flow directly.

3. Inputs

  • NATS connection and configuration from the host application.
  • Authentication credentials (account/password or token) from the caller.

4. Outputs

  • A valid session token injected into outgoing NATS request headers.
  • Token-renewal events when sessions approach expiry.

5. Entry points

  • include/ores.iam.client/client/service_token_provider.hpp — token management and renewal entry point.

6. Dependencies

  • ores.iam.api — shared domain types and NATS protocol schemas.
  • nats.c — NATS messaging client.

7. Build dependencies

What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.

8. See also

target_link_libraries(${lib_target_name}
    PUBLIC
        ores.nats.lib
        ores.iam.api.lib
        ores.service.lib
    PRIVATE
        ores.logging.lib
        ores.utility.lib
        Boost::boost)

Emacs 29.3 (Org mode 9.6.15)