Architecture¶
The library is designed as follows:
Design Perspectives¶
The main components are:
- Profile: The profile defines a set of properties and information about the user's authentication methods. Profiles are persisted on the filesystem for subsequent actions.
- Authenticators: The integrations with specific authentication methods, which enable interaction with services. An authentication method can either be Identity (User/Service User) or a custom implementation.
- Services: The service providing functionality (requires one or more associated authenticators to perform actions). For example, the DPA service exposes DPA APIs in an secure manner.
- Services Model Schemes The models exposed by a service, which can be used to perform the service's actions.
- CLI Actions: CLI interface built on the SDK, which provides users with the following shell commands:
configure
: Configure a profile with authentication detailslogin
: Log in with a configured profile authenticatorexec
: Execute services actions