You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
3.6 KiB
87 lines
3.6 KiB
export {
|
|
PERM_CLIENT_PATH_BATCH,
|
|
PERM_CLIENT_PATH_CHECK,
|
|
PERM_CLIENT_PATH_EXPLAIN,
|
|
PERM_CLIENT_PATH_WHAT,
|
|
PERM_CLIENT_CONTEXT_EMPTY,
|
|
PERM_CLIENT_KEY_GLOBAL,
|
|
PERM_CLIENT_KEY_NONE,
|
|
PERM_CLIENT_KEY_SEPARATOR,
|
|
PERM_MODULE,
|
|
PERM_HTTP_CREDENTIALS_INCLUDE,
|
|
PERM_HTTP_STATUS_BAD_REQUEST,
|
|
PERM_HTTP_STATUS_FORBIDDEN,
|
|
PERM_HTTP_STATUS_METHOD_NOT_ALLOWED,
|
|
PERM_HTTP_STATUS_NOT_FOUND,
|
|
PERM_HTTP_STATUS_OK,
|
|
PERM_HTTP_ERROR_METHOD_NOT_ALLOWED,
|
|
PERM_HTTP_ERROR_METHOD_NOT_ALLOWED_MESSAGE,
|
|
PERM_HTTP_ERROR_ROUTE_NOT_FOUND,
|
|
PERM_HTTP_ERROR_ROUTE_NOT_FOUND_MESSAGE,
|
|
PERM_REQUEST_FIELD_ACTION,
|
|
PERM_REQUEST_FIELD_ACTIONS,
|
|
PERM_REQUEST_FIELD_CHECKS,
|
|
PERM_REQUEST_FIELD_CONTEXT,
|
|
PERM_REQUEST_FIELD_RESOURCE,
|
|
PERM_RESPONSE_FIELD_ACTIONS,
|
|
PERM_RESPONSE_FIELD_DECISIONS,
|
|
PERM_RESPONSE_FIELD_ERROR
|
|
} from '$libs/svrs/perm';
|
|
|
|
export const PERM_CONTEXT_KEY = 'active.permissions';
|
|
|
|
export const PERM_CLIENT_DEFAULT_CACHE_TTL_MS = 30_000;
|
|
export const PERM_CLIENT_DEFAULT_NON_ALLOW_CACHE_TTL_MS = 5_000;
|
|
export const PERM_CLIENT_DEFAULT_REMOTE_FAILURE_BACKOFF_MS = 1_000;
|
|
export const PERM_SNAPSHOT_DECISIONS_KEY = 'decisions';
|
|
export const PERM_SNAPSHOT_GLOBAL_POLICY = 'snapshot.global';
|
|
|
|
export const PERM_CLIENT_SCOPE_PREFIX = 'scope';
|
|
|
|
export const PERM_CLIENT_DIAGNOSTIC_EVENTS = {
|
|
REMOTE_BATCH_FAILED: 'perm.client.remote_batch_failed',
|
|
REMOTE_CHECK_FAILED: 'perm.client.remote_check_failed',
|
|
REMOTE_WHAT_FAILED: 'perm.client.remote_what_failed'
|
|
} as const;
|
|
|
|
// Method labels used by `ensureLive(method)` for error messages. They are
|
|
// scoped with the artifact prefix `perm.` so that aggregated diagnostic
|
|
// streams do not collide with identically-named methods from other modules
|
|
// (`cache.check`, `sess.refresh`, etc.).
|
|
export const PERM_METHOD_CHECK = 'perm.check';
|
|
export const PERM_METHOD_CAN = 'perm.can';
|
|
export const PERM_METHOD_BATCH = 'perm.batch';
|
|
export const PERM_METHOD_EXPLAIN = 'perm.explain';
|
|
export const PERM_METHOD_WHAT = 'perm.what';
|
|
export const PERM_METHOD_SUBSCRIBE = 'perm.subscribe';
|
|
export const PERM_METHOD_CLEAR_ERROR = 'perm.clearError';
|
|
export const PERM_METHOD_DECISION_KEY = 'perm.decisionKey';
|
|
export const PERM_METHOD_HYDRATE = 'perm.hydrate';
|
|
export const PERM_METHOD_INVALIDATE = 'perm.invalidate';
|
|
|
|
export const PERM_AUTO_INVALIDATE_NONE = 'none';
|
|
export const PERM_AUTO_INVALIDATE_STANDARD = 'standard';
|
|
export const PERM_AUTO_INVALIDATE_USER_IDENTITY_CHANGE = 'userIdentityChange';
|
|
export const PERM_AUTO_INVALIDATE_PERMISSIONS_REFRESH = 'permissionsRefresh';
|
|
export const PERM_AUTO_INVALIDATE_TENANT_SWITCHED = 'tenantSwitched';
|
|
|
|
export const PERM_LOG_MSG_REMOTE_CHECK_FAILED = 'remote authorization check failed';
|
|
export const PERM_LOG_MSG_REMOTE_BATCH_FAILED = 'remote authorization batch failed';
|
|
export const PERM_LOG_MSG_REMOTE_WHAT_FAILED = 'remote authorization what failed';
|
|
export const PERM_LOG_MSG_DECISION = 'authorization decision';
|
|
export const PERM_LOG_MSG_DENIED = 'authorization denied';
|
|
export const PERM_LOG_MSG_INDETERMINATE = 'authorization indeterminate';
|
|
|
|
export const PERM_DECISION_REASON_REMOTE_CHECK_FAILED = 'permission.remote.check_failed';
|
|
export const PERM_DECISION_REASON_REMOTE_BATCH_FAILED = 'permission.remote.batch_failed';
|
|
|
|
export const PERM_ERROR_MSG_REQUEST_FAILED_PREFIX = 'Authorization request failed: ';
|
|
export const PERM_ERROR_MSG_RESPONSE_NOT_JSON_PREFIX =
|
|
'Authorization response is not valid JSON: ';
|
|
export const PERM_ERROR_MSG_NO_CONTEXT = 'Perm context is not available';
|
|
export const PERM_ERROR_MSG_DISPOSED_SUFFIX = '() called on a disposed permissions client';
|
|
export const PERM_ERROR_MSG_CLIENT_ENDPOINT_REQUIRED =
|
|
'createActivePerms requires an endpoint';
|
|
|
|
|