package
2024.3.0+incompatible
Repository: https://github.com/hiveot/hub.git
Documentation: pkg.go.dev

# Constants

AddDeviceMethod is the request name to add a device with public key.
AddServiceMethod is the request name to add a service with public key.
AddUserMethod is the request name to add a user with password.
AuthManageClientsCapability is the name of the Thing/Capability that handles management requests.
AuthManageRolesCapability is the name of the Thing/Capability that handles role requests.
AuthProfileCapability is the name of the Thing/Capability that handles client requests.
AuthRolesCapability defines the 'capability' address part used in sending messages.
AuthServiceName default ID of the authentication and authorization service.
ClientRoleAdmin lets a client publish and subscribe to any sources and invoke all services Read permissions: subEvents, subActions Write permissions: pubEvents, pubActions, pubConfig.
ClientRoleDevice lets a client publish things events and subscribe to device actions Read permissions: subActions Write permissions: pubTDs, pubEvents.
ClientRoleManager lets a client subscribe to Thing TD, events, publish actions and update configuration Read permissions: subEvents Write permissions: pubActions, pubConfig.
ClientRoleNone indicates that the user has no particular role.
ClientRoleOperator lets a client subscribe to events and publish actions Read permissions: subEvents Write permissions: pubActions.
ClientRoleService lets a client acts as an admin user and a device Read permissions: subEvents, subActions, subConfig Write permissions: pubEvents, pubActions, pubConfig.
ClientRoleViewer lets a client subscribe to Thing TD and Thing Events Read permissions: subEvents Write permissions: none.
Types of clients that are issued authentication tokens.
Types of clients that are issued authentication tokens.
Types of clients that are issued authentication tokens.
CreateRoleReq defines the request to create a new custom role.
No description provided by the author
DefaultAdminUserID is the client ID of the default administrator account.
90 days.
DefaultLauncherServiceID is the client ID of the launcher service auth creates a key and auth token for the launcher on startup.
DefaultPasswordFile is the recommended password filename for Hub authentication.
1 year.
30 days.
DeleteRoleReq defines the request to delete a custom role.
GetClientProfileMethod is the request name to get any client's profile.
No description provided by the author
GetProfileMethod defines the request to get the current client's profile.
GetProfilesMethod is the request name to get a list of all client profiles.
NewTokenMethod requests a new jwt token for password based login This returns a short-lived auth token that can be used to connect to the message server The token can be refreshed to extend it without requiring a login password.
supported password hashes.
fallback in case argon2i cannot be used.
RefreshTokenMethod requests a new token for the current client This returns a new short-lived auth token that can be used to authenticate with the hub This requires the client's public key on file.
RemoveClientMethod is the request name to remove a client The caller must be an administrator or service.
SetClientPasswordMethod is the request name to set a new password for a client This is equivalent to UpdatePassword in Manage Profile (that the client themselves can invoke).
SetServicePermissionsMethod is for use by services.
UpdateClientMethod is the request name to update a client's profile The caller must be an administrator or service.
UpdateClientRoleMethod is the request name to change a client's role.
UpdateNameMethod requests changing the display name of the current client.
UpdatePasswordMethod requests changing the password of the current client.
UpdatePubKeyMethod requests changing the public key on file of the current client.

# Variables

DefaultRolePermissions contains the default pub/sub permissions for each user role.

# Structs

AddDeviceArgs request message to add a device.
No description provided by the author
AddServiceArgs request message to add a service.
No description provided by the author
AddUserArgs request message to add a user.
No description provided by the author
AuthnEntry containing client profile and password hash For internal use.
ClientProfile contains client information of sources and users.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GetProfileResp response message to get the client's profile.
GetProfilesResp response to listClient actions.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Interfaces

IAuthnStore defined the interface for storing authentication data.