Skip to content
Back to skills

Nano Remove Authentication Microsoft

ASecurity

Remove Nano's built-in Microsoft external login provider (App:Authentication:Jwt:ExternalLogins:Microsoft) from a Nano.Library-based application - unregisters the config and removes the Staging/Production app-registration/CI/Kubernetes wiring, without touching JWT authentication itself. Use when the user asks to remove "Sign in with Microsoft", Entra ID, or Azure AD external login from a Nano API or Web application while keeping regular JWT login - not for removing JWT authentication entirely...

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
developmentgokubernetesazureapifrontendbackend

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add Nano-Core/Nano.Templates --skill nano-remove-authentication-microsoft --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nano Remove Authentication Microsoft?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Nano Remove Authentication Microsoft
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nano-core-nano-remove-authentication-microsoft/badge)](https://www.skillsdirectory.com/skills/nano-core-nano-remove-authentication-microsoft)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: nano-remove-authentication-microsoft
description: Remove Nano's built-in Microsoft external login provider (App:Authentication:Jwt:ExternalLogins:Microsoft) from a Nano.Library-based application - unregisters the config and removes the Staging/Production app-registration/CI/Kubernetes wiring, without touching JWT authentication itself. Use when the user asks to remove "Sign in with Microsoft", Entra ID, or Azure AD external login from a Nano API or Web application while keeping regular JWT login - not for removing JWT authentication entirely, that's nano-remove-authentication-jwt (whose own removal already covers any ExternalLogins provider along with it).
---

# Nano remove Microsoft authentication

Removes just the `Microsoft` external login provider (`Jwt.ExternalLogins.Microsoft`) from an
existing Nano API/Web application — the counterpart to `nano-add-authentication-microsoft`. Read
that skill first — this one undoes exactly what it adds. `Jwt` itself, the `AuthController`, and
any other configured provider (`Facebook`/`Google`) are left untouched.

If the user actually wants JWT authentication removed entirely, stop and point them at
`nano-remove-authentication-jwt` instead — its own removal already takes `ExternalLogins` (whichever
providers are configured) down with it; running this skill first would just be redundant.

## Before making any change, determine

1. **Is Microsoft external login currently configured?** Check the base `appsettings.json` for
   `Jwt.ExternalLogins.Microsoft`. If not present, say so and stop.
2. **Was this wired up for Staging/Production, or Development only?** Check
   `.kubernetes/auth-microsoft-secret.yaml`, the `Setup App Registration` workflow step, and the
   `AUTH_MICROSOFT_*` workflow env vars — if none exist, this was Development-only and the
   Kubernetes/CI section below doesn't apply.
3. **Are other external login providers (`Facebook`/`Google`) still configured?** Doesn't change
   what this skill does — each provider's config/Kubernetes/CI is independent — but worth confirming
   so the user isn't surprised those keep working unchanged.
4. **Any custom external-login repository or frontend code referencing Microsoft specifically?**
   This skill only removes the built-in provider's config and infrastructure; a hand-written MSAL.js
   sign-in flow on the frontend, or a custom class deriving `BaseAuthExternalRepository<TFlow>` for
   Microsoft, isn't something this skill can find or remove — flag that the frontend sign-in button
   and redirect flow need removing separately.

## appsettings.json

Remove the `Microsoft` object from `Jwt.ExternalLogins` in the base `appsettings.json` (per
`nano-add-authentication-microsoft`, this is the only file it's ever added to — `appsettings.Development.json`
may also have a developer's own local override values under the same path; remove those too if
present). If `ExternalLogins` is now empty, remove the empty `ExternalLogins` object as well rather
than leaving a dangling `{}`.

## Staging/Production — only if step 2 found it wired up

- Remove the `Setup App Registration` workflow step.
- Remove the `AUTH_MICROSOFT_REDIRECT_URI`/`AUTH_MICROSOFT_SIGN_IN_AUDIENCE` workflow-level env vars.
- Remove the `auth-microsoft-secret.yaml` apply line from the `Kubernetes Deploy` step.
- Delete `.kubernetes/auth-microsoft-secret.yaml`, and remove its
  `.kubernetes\auth-microsoft-secret.yaml = .kubernetes\auth-microsoft-secret.yaml` line from
  `{name}.sln`'s `.kubernetes` `SolutionItems` block.
- Remove the `App__Authentication__Jwt__ExternalLogins__Microsoft__TenantId`/`ClientId`/
  `ClientSecret` entries from `.kubernetes/deployment.yaml`'s container `env`.

⚠ This does **not** delete the underlying live resources — removing the workflow/manifest lines
only stops maintaining them going forward, the same class of gap as
`nano-remove-authentication-jwt`'s equivalent note:
- The Entra ID app registration itself (`{service-name}-app` in Azure) stays registered — the
  workflow step that creates/updates it just stops running. Delete it directly in the Azure Portal
  (or `az ad app delete`) if it's no longer needed for anything else.
- The `auth-microsoft-secret` Kubernetes `Secret` already sitting in the cluster from prior deploys.
Say both explicitly rather than letting the user assume "removed the file/workflow lines" means
"removed the actual app registration."

## After making the change

- Show the user every file touched/deleted.
- Confirm JWT authentication (and any other configured provider) is unaffected — sign-in with a
  password/other provider keeps working exactly as before, only Microsoft sign-in disappears.
- If step 2 found Staging/Production wiring, restate the ⚠ above — the live Entra ID app
  registration and Kubernetes secret still exist; only this app's manifest/CI references were
  removed.
- If step 4 found frontend sign-in code, remind the user that removing the backend config alone
  leaves a "Sign in with Microsoft" button that now fails — the frontend piece is outside this
  skill's scope and needs removing separately.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…