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.
91 lines
4.3 KiB
91 lines
4.3 KiB
export {
|
|
PERMISSION_CLIENT_PATH_BATCH,
|
|
PERMISSION_CLIENT_PATH_CHECK,
|
|
PERMISSION_CLIENT_PATH_EXPLAIN,
|
|
PERMISSION_CLIENT_PATH_WHAT,
|
|
PERMISSION_CLIENT_CONTEXT_EMPTY,
|
|
PERMISSION_CLIENT_KEY_GLOBAL,
|
|
PERMISSION_CLIENT_KEY_NONE,
|
|
PERMISSION_CLIENT_KEY_SEPARATOR,
|
|
PERMISSION_LOGGER_CATEGORY as LOGGER_CATEGORY,
|
|
PERMISSION_HTTP_CREDENTIALS_INCLUDE,
|
|
PERMISSION_HTTP_STATUS_BAD_REQUEST,
|
|
PERMISSION_HTTP_STATUS_FORBIDDEN,
|
|
PERMISSION_HTTP_STATUS_METHOD_NOT_ALLOWED,
|
|
PERMISSION_HTTP_STATUS_NOT_FOUND,
|
|
PERMISSION_HTTP_STATUS_OK,
|
|
PERMISSION_HTTP_ERROR_METHOD_NOT_ALLOWED,
|
|
PERMISSION_HTTP_ERROR_METHOD_NOT_ALLOWED_MESSAGE,
|
|
PERMISSION_HTTP_ERROR_ROUTE_NOT_FOUND,
|
|
PERMISSION_HTTP_ERROR_ROUTE_NOT_FOUND_MESSAGE,
|
|
PERMISSION_REQUEST_FIELD_ACTION,
|
|
PERMISSION_REQUEST_FIELD_ACTIONS,
|
|
PERMISSION_REQUEST_FIELD_CHECKS,
|
|
PERMISSION_REQUEST_FIELD_CONTEXT,
|
|
PERMISSION_REQUEST_FIELD_RESOURCE,
|
|
PERMISSION_RESPONSE_FIELD_ACTIONS,
|
|
PERMISSION_RESPONSE_FIELD_DECISIONS,
|
|
PERMISSION_RESPONSE_FIELD_ERROR
|
|
} from '$libs/svrs/perm';
|
|
|
|
export const PERMISSION_CONTEXT_KEY = 'active.permissions';
|
|
|
|
export const PERMISSION_CLIENT_DEFAULT_CACHE_TTL_MS = 30_000;
|
|
export const PERMISSION_CLIENT_DEFAULT_NON_ALLOW_CACHE_TTL_MS = 5_000;
|
|
export const PERMISSION_CLIENT_DEFAULT_REMOTE_FAILURE_BACKOFF_MS = 1_000;
|
|
export const PERMISSION_SNAPSHOT_DECISIONS_KEY = 'decisions';
|
|
export const PERMISSION_SNAPSHOT_GLOBAL_POLICY = 'snapshot.global';
|
|
|
|
export const PERMISSION_CLIENT_SCOPE_PREFIX = 'scope';
|
|
|
|
export const PERMISSION_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
|
|
// (`cach.check`, `sess.refresh`, etc.).
|
|
export const PERMISSION_METHOD_CHECK = 'perm.check';
|
|
export const PERMISSION_METHOD_CAN = 'perm.can';
|
|
export const PERMISSION_METHOD_BATCH = 'perm.batch';
|
|
export const PERMISSION_METHOD_EXPLAIN = 'perm.explain';
|
|
export const PERMISSION_METHOD_WHAT = 'perm.what';
|
|
export const PERMISSION_METHOD_SUBSCRIBE = 'perm.subscribe';
|
|
export const PERMISSION_METHOD_CLEAR_ERROR = 'perm.clearError';
|
|
export const PERMISSION_METHOD_DECISION_KEY = 'perm.decisionKey';
|
|
export const PERMISSION_METHOD_HYDRATE = 'perm.hydrate';
|
|
export const PERMISSION_METHOD_INVALIDATE = 'perm.invalidate';
|
|
|
|
export const PERMISSION_AUTO_INVALIDATE_NONE = 'none';
|
|
export const PERMISSION_AUTO_INVALIDATE_STANDARD = 'standard';
|
|
export const PERMISSION_AUTO_INVALIDATE_USER_IDENTITY_CHANGE = 'userIdentityChange';
|
|
export const PERMISSION_AUTO_INVALIDATE_PERMISSIONS_REFRESH = 'permissionsRefresh';
|
|
export const PERMISSION_AUTO_INVALIDATE_TENANT_SWITCHED = 'tenantSwitched';
|
|
|
|
export const PERMISSION_LOG_MSG_REMOTE_CHECK_FAILED = 'remote authorization check failed';
|
|
export const PERMISSION_LOG_MSG_REMOTE_BATCH_FAILED = 'remote authorization batch failed';
|
|
export const PERMISSION_LOG_MSG_REMOTE_WHAT_FAILED = 'remote authorization what failed';
|
|
export const PERMISSION_LOG_MSG_DECISION = 'authorization decision';
|
|
export const PERMISSION_LOG_MSG_DENIED = 'authorization denied';
|
|
export const PERMISSION_LOG_MSG_INDETERMINATE = 'authorization indeterminate';
|
|
|
|
export const PERMISSION_DECISION_REASON_REMOTE_CHECK_FAILED = 'permission.remote.check_failed';
|
|
export const PERMISSION_DECISION_REASON_REMOTE_BATCH_FAILED = 'permission.remote.batch_failed';
|
|
|
|
export const PERMISSION_ERROR_MSG_REQUEST_FAILED_PREFIX = 'Authorization request failed: ';
|
|
export const PERMISSION_ERROR_MSG_RESPONSE_NOT_JSON_PREFIX =
|
|
'Authorization response is not valid JSON: ';
|
|
export const PERMISSION_ERROR_MSG_NO_CONTEXT = 'Permission context is not available';
|
|
export const PERMISSION_ERROR_MSG_DISPOSED_SUFFIX = '() called on a disposed permissions client';
|
|
export const PERMISSION_ERROR_MSG_CLIENT_ENDPOINT_REQUIRED =
|
|
'createActivePermissions requires an endpoint';
|
|
|
|
export const PERMISSION_ERROR_NAME_INVALID_ENDPOINT = 'PermInvalidEndpointError';
|
|
export const PERMISSION_ERROR_NAME_NO_CONTEXT = 'PermNoContextError';
|
|
export const PERMISSION_ERROR_NAME_REMOTE_REQUEST = 'PermRemoteRequestError';
|
|
export const PERMISSION_ERROR_NAME_DISPOSED = 'PermDisposedError';
|
|
|