set-app-registration-native

Utiliser lorsque l'utilisateur souhaite connecter une application mobile Power Apps Wrap à un enregistrement d'application Entra ID en ouvrant la page d'enregistrement d'application Power Apps Wrap, en collant le…

npx skills add https://github.com/microsoft/power-platform-skills --skill set-app-registration-native

Shared instructions: shared-instructions.md — read first.

Set App Registration Native

Wire auth.config.json to an Entra ID app registration for a Power Apps Wrap mobile app.

This skill is manual by design:

  • Do not create or patch app registrations from this skill.
  • Use the public Power Apps Wrap app-registration page to create/configure the registration, then write the pasted client ID into auth.config.json.
  • Do not direct the user to add redirect URIs or API permissions manually. Tenant-wide admin consent is not required for this Wrap registration flow.

Workflow

  1. Verify app root -> 2. Resolve environment + tenant -> 3. Open Wrap registration URL -> 4. Capture client ID -> 5. Write auth.config.json -> 6. Validate JSON -> 7. Summary

Step 1 — Verify app root

From the current directory, verify a generated mobile app root:

test -f auth.config.json && test -f app.config.js && test -f power.config.json

If this fails, stop and tell the user to run /create-mobile-app first or open the generated app folder.

Step 2 — Resolve environment + tenant

Telemetry checkpoint: resolve_registration_environment

Use the same environment selected by the generated app. Prefer .resolved-environment.json, then auth.config.json.environment, then power.config.json + resolver:

ENV_ID=$(node -e "console.log(require('./power.config.json').environmentId || '')")
TENANT_ID=$(node -e "try { const j=require('./.resolved-environment.json'); console.log(j.tenantId || '') } catch { console.log('') }" 2>/dev/null)
if [ -z "$TENANT_ID" ]; then
  TENANT_ID=$(node -e "try { const j=require('./auth.config.json'); console.log((j.environment && j.environment.tenantId) || '') } catch { console.log('') }" 2>/dev/null)
fi
if [ -z "$TENANT_ID" ] && [ -n "$ENV_ID" ]; then
  node "${PLUGIN_ROOT}/scripts/resolve-environment.js" "$ENV_ID" > .resolved-environment.json
  TENANT_ID=$(node -e "const j=require('./.resolved-environment.json'); console.log(j.tenantId || '')")
fi
echo "$ENV_ID"
echo "$TENANT_ID"

If ENV_ID is empty, stop: power.config.json is not initialized.

If TENANT_ID is empty, stop: environment resolution failed. Do not guess the tenant and do not use a stale msal.tenantId as the authority source.

Step 3 — Open Wrap app-registration page

Telemetry checkpoint: open_wrap_app_registration

Print the public Power Apps Wrap URL for the active environment:

https://make.powerapps.com/environments/<environment-id>/wraps#create-app-registration

Tell the user:

Open the Power Apps Wrap app-registration page for this environment:
https://make.powerapps.com/environments/<environment-id>/wraps#create-app-registration

Create/register the app there, then paste the Application (client) ID here.
The Wrap page configures the native registration. Do not add redirect URIs or
API permissions manually; tenant-wide admin consent is not required.
If you already have a client ID, paste it directly.
If you cannot configure auth now, type skip.

Step 4 — Capture client ID

Ask:

Paste the Entra ID app registration client ID for tenant <tenant-guid> (GUID format), or type skip:
  • If the user enters skip, leave msal.clientId blank, ensure msal.tenantId is set to the resolved tenant, preserve/add the environment cache, print the skip warning in Step 7, and stop.
  • Otherwise validate GUID format before editing.

Step 5 — Write auth.config.json

Telemetry checkpoint: write_native_auth_configuration

Update auth.config.json:

  • msal.clientId = pasted client ID
  • msal.tenantId = resolved tenant ID from Step 2
  • Preserve any top-level environment object.
  • If environment is missing and .resolved-environment.json exists, copy the non-secret resolved environment fields into top-level environment.

Use structured JSON editing. Do not store tokens, secrets, or current-user Dataverse identity fields.

Example target shape:

{
  "msal": {
    "clientId": "<client-id>",
    "tenantId": "<tenant-guid>"
  },
  "environment": {
    "environmentId": "<environment-id>",
    "environmentUrl": "https://org.crm.dynamics.com",
    "tenantId": "<tenant-guid>",
    "cachedAt": "<iso timestamp>"
  }
}

Do not touch src/playerConfig.ts; auth identifiers live in auth.config.json only.

Step 6 — Validate JSON

Telemetry checkpoint: validate_native_auth_configuration

node -e "JSON.parse(require('fs').readFileSync('auth.config.json','utf8')); console.log('auth.config.json OK')"

If dependencies are installed, optionally run:

npx tsc --noEmit

Do not run npm install or native builds from this skill.

Step 7 — Summary

If a client ID was written:

App registration wired.
Client ID : <client-id>
Tenant    : <tenant-guid>
Config    : auth.config.json

If skipped:

Auth client ID was not configured.
Tenant was preserved in auth.config.json: <tenant-guid>
The app will fail to sign in until a client ID is added.
Run /set-app-registration-native later, or paste a client ID into auth.config.json.

Plus de skills de microsoft

oss-growth
microsoft
Persona de growth hacker OSS
agent-framework-azure-ai-py
microsoft
Créez des agents Azure AI Foundry à l’aide du SDK Python Microsoft Agent Framework (agent-framework-azure-ai). À utiliser lors de la création d’agents persistants avec AzureAIAgentsProvider, de l’utilisation d’outils hébergés (interpréteur de code, recherche de fichiers, recherche web), de l’intégration de serveurs MCP, de la gestion de fils de conversation ou de l’implémentation de réponses en streaming. Couvre les outils de fonction, les sorties structurées et les agents multi-outils.
development
airunway-aks-setup
microsoft
Configurez AI Runway sur AKS — du cluster nu au modèle en cours d'exécution. Couvre la vérification du cluster, l'installation du contrôleur, l'évaluation GPU, la configuration du fournisseur et le premier déploiement. QUAND : « configurer AI Runway », « intégrer un cluster AKS », « installer AI Runway », « configuration airunway », « déployer un modèle sur AKS », « inférence GPU sur AKS », « configuration KAITO sur AKS », « exécuter LLM sur AKS », « vLLM sur AKS », « configurer le service de modèles sur AKS », « contrôleur AI Runway ».
devops
appinsights-instrumentation
microsoft
Conseils pour instrumenter les applications web avec Azure Application Insights. Fournit des modèles de télémétrie, la configuration du SDK et des références de configuration. QUAND : comment instrumenter une application, SDK App Insights, modèles de télémétrie, qu'est-ce qu'App Insights, conseils sur Application Insights, exemples d'instrumentation, bonnes pratiques APM.
devops
applicationinsights-web-ts
microsoft
Instrumentez les applications navigateur/web avec le SDK JavaScript Application Insights (@microsoft/applicationinsights-web). Utilisez-le pour la surveillance des utilisateurs réels (RUM) — vues de page, clics, dépendances AJAX/fetch, exceptions, événements personnalisés et traces d’agents GenAI côté navigateur corrélées aux traces OpenTelemetry backend. Couvre le script de chargement du SDK et la configuration npm, les extensions de framework (React, React Native, Angular), Click Analytics, les initialiseurs de télémétrie et les conventions sémantiques OTel GenAI pour les spans d’agents/outils/modèles émises depuis le navigateur.
devops
azure-ai-anomalydetector-java
microsoft
Créez des applications de détection d'anomalies avec le SDK Azure AI Anomaly Detector pour Java. Utilisez-le lors de l'implémentation de la détection d'anomalies univariées/multivariées, de l'analyse de séries temporelles ou de la surveillance basée sur l'IA.
development
azure-ai-language-conversations-py
microsoft
Implémentez la compréhension du langage conversationnel (CLU) à l’aide du SDK Python azure-ai-language-conversations. Utilisez-le lorsque vous travaillez avec ConversationAnalysisClient pour analyser l’intention et les entités d’une conversation, créer des fonctionnalités de NLP ou intégrer la compréhension du langage dans des applications.
development
azure-ai-ml-py
microsoft
SDK v2 d’Azure Machine Learning pour Python. Utiliser pour les espaces de travail ML, les tâches, les modèles, les jeux de données, le calcul et les pipelines. Déclencheurs : « azure-ai-ml », « MLClient », « espace de travail », « registre de modèles », « tâches d’entraînement », « jeux de données ».
development