vscode-azureresourcegroups icon indicating copy to clipboard operation
vscode-azureresourcegroups copied to clipboard

Add an Azure Resources API (v4) authentication layer

Open MicroFish91 opened this issue 3 months ago • 0 comments

Overview

This PR adds a secure auth layer that clients should interface with to obtain the Azure Resources core APIs (used for registering branch data resources). For full details on the new auth handshake, please see the auth readme included with this PR. We will continue to publicly provide the core APIs while we let clients onboard. Afterwards we will remove these APIs from the public exports and only expose them through the dedicated auth layer.

Setup

Here are the steps if you would like to try out the changes:

  1. Pull down this branch
  2. npm install & npm run compile in Azure Resources root
  3. npm install & npm pack in Azure Resources API root
  4. Pull down one of the client extension sample branches below
  5. npm install and add the Azure Resources API package built from step 3
  6. Launch Client Extension + Host, observe the onDidReceiveAzureResourcesApis callback to verify we are getting matching Azure Resources APIs

Client Extension Samples

Container Apps example (V2): https://github.com/microsoft/vscode-azurecontainerapps/pull/992 Functions example (internal + V2): https://github.com/microsoft/vscode-azurefunctions/pull/4777

Todos

To add in follow-up PRs.

  • [ ] Update utils package types
  • [x] Tests
    • [x] Azure Resources API (https://github.com/microsoft/vscode-azureresourcegroups/pull/1288)
    • [x] Azure Resources Client Helpers (https://github.com/microsoft/vscode-azureresourcegroups/pull/1308)
  • [ ] Update versions and Changelog

UPDATE (11/20/2025):

I split up the PRs a bit better, now the client tooling lives in this PR. Therefore if you want to test the functionality described under Setup above, you'll now need to test off of that branch instead.

The order of the PRs to review should be:

  1. Internal Auth Layer - This PR
  2. Client Tools for automating the handshake - https://github.com/microsoft/vscode-azureresourcegroups/pull/1313
  3. Internal Auth Tests - https://github.com/microsoft/vscode-azureresourcegroups/pull/1288
  4. Client Tools Tests - https://github.com/microsoft/vscode-azureresourcegroups/pull/1308

MicroFish91 avatar Nov 06 '25 20:11 MicroFish91