authentication-authorization

Implement centralized, deny-by-default object-level authorization with tenant scoping.

4|Updated May 16, 2026
One-click install
npx skills add https://github.com/machenjie/rd-skills --skill authentication-authorization-machenjie
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: authentication-authorization
Source: https://github.com/machenjie/rd-skills/tree/main/src/foundation/capabilities/authentication-authorization
Command: npx skills add https://github.com/machenjie/rd-skills --skill authentication-authorization-machenjie

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It prevents security failures where users can access or modify resources they should not by separating identity proof from permission enforcement and applying object-level, tenant-aware authorization on every entry point.

Core Features & Use Cases

  • Centralized PDP with distributed enforcement: centralizes policy decisions for auditable consistency across controllers, services, background jobs, and admin tools.
  • Deny-by-default with mandatory object-level authorization: requires object-level checks for resource-specific operations to prevent BOLA/IDOR.
  • Tenant isolation and audit-safe denials: enforces tenant scoping at the query/database layer and records structured allow/deny decisions without leaking sensitive existence signals.

Quick Start

Ask an engineer to implement PDP-based object-level authorization for a specific resource endpoint and tenant scope, including negative-case tests and tamper-evident audit events.

Frequently Asked Questions about authentication-authorization

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent BOLA and IDOR vulnerabilities in my API?

You prevent BOLA and IDOR by requiring object-level authorization checks on every API entry point. A deny-by-default policy ensures identity proof alone never grants permission for object-specific operations.

What is the best way to enforce tenant isolation in a multi-tenant application?

The best way to enforce tenant isolation is by applying tenant scoping directly at the query and database layers. This must be paired with structured audit logging that records allow or deny decisions without leaking sensitive resource existence signals.

How do I implement consistent authorization across background jobs and admin tools?

Implement consistent authorization across background jobs and admin tools by centralizing policy decisions in a dedicated Policy Decision Point (PDP). This distributes enforcement consistently across all controllers, services, and scheduled tasks while maintaining auditable consistency.

Does centralized authorization work with step-up authentication for privileged actions?

Yes, centralized authorization works with step-up authentication for privileged actions. The policy framework requires step-up verification for sensitive operations while maintaining bounded authorization caching to ensure access decisions remain consistent and secure.

Why does my authorization model leak resource existence on denied requests?

Your authorization model leaks resource existence because it lacks an explicit existence-leak policy. Implementing centralized policy decisions with audit-safe denials ensures denied requests return structured responses without revealing sensitive existence signals.

When do I need object-level authorization instead of standard role-based access control?

You need object-level authorization instead of standard role-based access control when operations require tenant-scoped, resource-specific permissions. It enforces deny-by-default rules across UI, internal RPC, and bulk imports where RBAC alone cannot prevent unauthorized object access.