Agent skill · Audited from source
Setup Auth
skill · microsoft/power-platform-skillsMIT licenceAudited 18 Oct 2026 · source 8075ef5705c5
Is it safe? No — BLOCK, grade D (69/100). We read this skill's source at commit 8075ef5705c5 and observed filesystem access and no hard-coded secrets. The audit raised 7 findings, 5 critical or high. What it does: Use when the user asks to "set up authentication", "add login", "add logout", "add sign in", "enable auth", "add role-based access", "add authorization", "protect routes", "configure identity provider", "configure Entra…
Cite
Cite this page
ModelsAtlas. “Setup Auth (microsoft/power-platform-skills)”. Retrieved 18 Oct 2026. https://modelsatlas.com/skills/microsoft/setup-auth
Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 5 critical or high findings, starting with “Prompt injection” in SKILL.md:1162. Do not install it without reading them.
Trust audit
Audit 0.4.1 · source read 18 Oct 2026
BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 642 of 14,816 audited skills.
What the source does
- FilesystemDeclared1 observation
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | PASS | 1 |
L2 Instructions | Prompt injection, authority framing, hidden directives | FAIL | 6 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: critical finding, no behavioural pass, undeclared transfer.
Findings (7)
CRITICALPrompt injectionprompt.transfer_instruction · SKILL.md:1162
- `forgotPassword(email)` — **Required when local auth is configured.** MVC form POST to `/Account/Login/ForgotPassword` with `Email` + anti-forgery token. Server sends a password reset email. Uses `f
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
CRITICALPrompt injectionprompt.transfer_instruction · SKILL.md:1184
- **Local Authentication**: Form POST to `/SignIn` with `PasswordValue` (not `Password`), anti-forgery token from `/_layout/tokenhtml`, and optionally `RememberMe`. When `LocalLoginByEmail` is `true`,
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
CRITICALPrompt injectionprompt.transfer_instruction · SKILL.md:1189
**CRITICAL**: Power Pages authentication is **server-side** (session cookies). External login flows post a form to the server which redirects to the identity provider. Local login posts credentials di
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
CRITICALPrompt injectionprompt.transfer_instruction · SKILL.md:1439
**If local authentication is configured AND `ResetPasswordEnabled` is `true`**, create a `/forgot-password` page. This is a simple form that collects the user's email and POSTs to the server, which se
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
CRITICALPrompt injectionprompt.transfer_instruction · SKILL.md:1441
> **Note:** The forgot password endpoint (`/Account/Login/ForgotPassword`) is an MVC form (like login), NOT a Web Forms page (like registration). A simple `fetch()` POST with `Email` + `__RequestVerif
- Why
- an instruction to move sensitive data to an outside destination
- Fix
- remove; a skill never needs the user's secrets off the machine
LOWFilesystem / pathfs.traversal · scripts/validate-auth.js:16
const { approve, block, runValidation, findProjectRoot } = require('../../../scripts/lib/validation-helpers');- Why
- No further detail recorded for this rule.
- Fix
- —
INFOPrompt injectionprompt.authority_framing · references/authorization-reference.md:62
* Checks if the user has elevated access (admin or specified additional roles).
- Why
- No further detail recorded for this rule.
- Fix
- —
Audit 0.4.1 · source sha 8075ef5705c5 · 18 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishermicrosoft GitHub organizationOwner of the repository this skill is read from
- Source foldermicrosoft/power-platform-skills/plugins/power-pages/skills/setup-authThe exact folder we audited
- LicenceMITAs the repository states it
- Commit pinned for this verdict8075ef5705c5A new audit runs when the source changes
- Repository statusNot archivedPushed today
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Use when the user asks to "set up authentication", "add login", "add logout", "add sign in", "enable auth", "add role-based access", "add authorization", "protect routes", "configure identity provider", "configure Entra…
---
name: setup-auth
description: >
Use when the user asks to "set up authentication", "add login",
"add logout", "add sign in", "enable auth", "add role-based access",
"add authorization", "protect routes", "configure identity provider",
"configure Entra ID", "configure Entra External ID",
"configure OpenID Connect", "add OIDC", "set up SAML",
"set up WS-Federation", "set up local login",
"add Facebook login", "add Google sign in", "add Microsoft Account",
or otherwise wants to set up
authentication (login/logout) and role-based authorization for their
Power Pages code site using any supported identity provider.
Also sets up the IdP app registration for OIDC providers (Okta, Auth0,
Entra External ID, and other OIDC) -- reads the provider's docs first, then
either guides the user through the provider's console or, when the provider
supports it, configures it for the user -- and wires
the client ID, authority, and claims mapping into Power Pages.
user-invocable: true
allowed-tools: Read, Write, Edit, Bash, Grep, Glob, AskUserQuestion, Task, TaskCreate, TaskUpdate, TaskList, Skill, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_search, mcp__plugin_power-pages_microsoft-learn__microsoft_docs_fetch
model: opus
---
> **Plugin check**: Run `node "${PLUGIN_ROOT}/scripts/check-version.js"` — if it outputs a message, show it to the user before proceeding.
# Set Up Authentication & Authorization
Configure authentication (login/logout) and role-based authorization for a Power Pages code site. This skill supports multiple identity providers -- Microsoft Entra ID, Entra External ID (for customer-facing apps with self-service sign-up), OpenID Connect (Okta, Auth0, etc.), SAML2, WS-Federation, local authentication (username/password), Microsoft Account, Facebook, and Google. It also supports optional features including invitation-based registration and Terms & Conditions acceptance. Power Pages built-in 2FA is intentionally not scaffolded because the SendCode/VerifyCode pages are server-rendered and cannot be integrated into a SPA experience — use IdP-level MFA instead. It creates an auth service, type declarations, authorization utilities, auth UI components, and role-based access control patterns appropriate to the site's framework and chosen identity provider(s).
## Core Principles
- **Client-side auth is UX only** — Power Pages authentication is server-side (session cookies). Client-side role checks control what users see, not what they can access. Server-side table permissions enforce actual security.
- **Framework-appropriate patterns** — Every auth artifact (hooks, composables, services, directives, guards) must match the detected framework's idioms and conventions.
- **Development parity** — Include mock data for local development so developers can test auth flows and role-based UI without deploying to Power Pages.
- **Preserve site integrity** — Before changing navigation, auth pages, dialogs, or role-based UI, read `${PLUGIN_ROOT}/references/site-modification-integrity.md`. Synchronize all visible auth states across configured locale resources and keep them bidirectional and expansion-safe.
**Initial request:** $ARGUMENTS
> **Prerequisites:**
>
> - An existing Power Pages code site created via `/create-site`
> - The site must be deployed at least once (`.powerpages-site` folder must exist)
> - Web roles must be created via `/create-webroles`
## Workflow
1. **Phase 1: Check Prerequisites** — Verify site exists, detect framework, check web roles
2. **Phase 2: Plan** — Gather auth requirements (optionally set up the IDP app registration knowledge-first — Guided by default, or configure-for-you via the provider's own CLI where supported: Okta / Auth0 / Entra External ID) and present plan for approval
3. **Phase 3: Create Auth Service** — Auth service with login/logout and type declarations
4. **Phase 4: Create Authorization Utils** — Role-checking functions and wrapper components
5. **Phase 5: Create Auth UI** — Login/logout button integrated into navigation
6. **Phase 6: Implement Role-Based UI** — Apply role-based patterns to site components
7. **Phase 7: Verify Auth Setup** — Validate all auth files exist, build succeeds, auth UI renders
8. **Phase 8: Review & Deploy** — Summary and deployment prompt
---
## Phase 1: Check Prerequisites
**Goal:** Confirm the project exists, identify the framework, verify deployment status and web roles, and check for existing auth code.
### Actions
#### 1.1 Locate Project
Look for `powerpages.config.json` in the current directory or immediate subdirectories:
```text
**/powerpages.config.json
```
**If not found**: Tell the user to create a site first with `/create-site`.
#### 1.2 Detect Framework
Read `package.json` to determine the framework (React, Vue, Angular, or Astro). See `${PLUGIN_ROOT}/references/framework-conventions.md` for the full framework detection mapping.
#### 1.3 Check Deployment Status
Look for the `.powerpages-site` folder:
```text
**/.powerpages-site
```
**If not found**: Tell the user the site must be deployed first:
> "The `.powerpages-site` folder was not found. The site needs to be deployed at least once before authentication can be configured."
<!-- gate: setup-auth:1.3.deploy-first | category=plan | cancel-leaves=nothing -->
> 🚦 **Gate (plan · setup-auth:1.3.deploy-first):** `.powerpages-site` missing — auth setup writes site settings inside that folder. Deploy first or stop.
>
> **Trigger:** Phase 1.3 detected no `.powerpages-site` folder.
> **Why we ask:** Auto-deploy picks the wrong env; skipping leaves auth wiring broken.
> **Cancel leaves:** Nothing — no auth files written yet.
Use `AskUserQuestion`:
| Question | Options |
|----------|---------|
| Your site needs to be deployed first. Would you like to deploy now? | Yes, deploy now (Recommended), No, I'll do it later |
**If "Yes, deploy now"**: Invoke `/deploy-site`, then resume.
**If "No"**: Stop — the site mustExcerpt, first 6,001 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 8075ef5
git clone https://github.com/microsoft/power-platform-skills git -C power-platform-skills checkout 8075ef5705c5
The author documents no install command, so this uses the repository directly. Our verdict covers commit 8075ef5705c5 only.
Works in which agents?
What its own text says, not a test
| Agent | Status | More |
|---|---|---|
| Cursor | Mentioned in its text, not tested | Skills for Cursor · About Cursor |
Audit history
Every audit, every source change
- ✕BLOCK D 69 / 100
first audit · source
8075ef5705c5
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/microsoft/setup-auth/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
microsoft/power-platform-skills
Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.
microsoft/power-platform-skills
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
microsoft/power-platform-skills
Integrates Power Automate cloud flows into a Power Pages site. Lists available flows, suggests relevant ones based on intent, identifies scenarios and web roles, creates metadata files, and generates client-side code to…
microsoft/power-platform-skills
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.
microsoft/power-platform-skills
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and continue. USE WHEN the user asks to add a data source, add a connection, add an API, add a…
microsoft/power-platform-skills
Adds a data source or connector to a Power Apps code app. Asks what the user wants to accomplish and routes to the appropriate specialized skill.
Add this badge to your README
[](https://modelsatlas.com/skills/microsoft/setup-auth/)
<a href="https://modelsatlas.com/skills/microsoft/setup-auth/"><img src="https://modelsatlas.com/skills/microsoft/setup-auth/badge.svg" alt="ModelsAtlas: BLOCK D"></a>
Questions about Setup Auth
What does the Setup Auth skill do?
Is Setup Auth safe to install?
What can Setup Auth access on my machine?
Which assistants does Setup Auth work with?
How current is this page?
Sources
- github.com/microsoft/power-platform-skills/tree/main/plugins/pow — the audited source at commit 8075ef5705c5 and every finding aboveObserved · 18 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the Setup Auth skill do?
- Is Setup Auth safe to install?
- What can Setup Auth access on my machine?