diff --git a/.changeset/forty-oranges-joke.md b/.changeset/forty-oranges-joke.md new file mode 100644 index 0000000000..28d162442c --- /dev/null +++ b/.changeset/forty-oranges-joke.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration-react': patch +--- + +Updated `microsoftAuthApi` scopes for Azure DevOps to be fully qualified. diff --git a/packages/integration-react/src/api/ScmAuth.test.ts b/packages/integration-react/src/api/ScmAuth.test.ts index 7e174c4cbf..d252b95b85 100644 --- a/packages/integration-react/src/api/ScmAuth.test.ts +++ b/packages/integration-react/src/api/ScmAuth.test.ts @@ -112,7 +112,8 @@ describe('ScmAuth', () => { await expect( azureAuth.getCredentials({ url: 'http://example.com' }), ).resolves.toMatchObject({ - token: 'vso.build vso.code vso.graph vso.project vso.profile', + token: + '499b84ac-1321-427f-aa17-267ca6975798/vso.build 499b84ac-1321-427f-aa17-267ca6975798/vso.code 499b84ac-1321-427f-aa17-267ca6975798/vso.graph 499b84ac-1321-427f-aa17-267ca6975798/vso.project 499b84ac-1321-427f-aa17-267ca6975798/vso.profile', }); await expect( azureAuth.getCredentials({ @@ -121,7 +122,7 @@ describe('ScmAuth', () => { }), ).resolves.toMatchObject({ token: - 'vso.build vso.code vso.graph vso.project vso.profile vso.code_manage', + '499b84ac-1321-427f-aa17-267ca6975798/vso.build 499b84ac-1321-427f-aa17-267ca6975798/vso.code 499b84ac-1321-427f-aa17-267ca6975798/vso.graph 499b84ac-1321-427f-aa17-267ca6975798/vso.project 499b84ac-1321-427f-aa17-267ca6975798/vso.profile 499b84ac-1321-427f-aa17-267ca6975798/vso.code_manage', }); const bitbucketAuth = ScmAuth.forBitbucket(mockAuthApi); @@ -174,10 +175,15 @@ describe('ScmAuth', () => { await expect( azureAuth.getCredentials({ url: 'http://example.com', - additionalScope: { customScopes: { azure: ['vso.org'] } }, + additionalScope: { + customScopes: { + azure: ['499b84ac-1321-427f-aa17-267ca6975798/vso.org'], + }, + }, }), ).resolves.toMatchObject({ - token: 'vso.build vso.code vso.graph vso.project vso.profile vso.org', + token: + '499b84ac-1321-427f-aa17-267ca6975798/vso.build 499b84ac-1321-427f-aa17-267ca6975798/vso.code 499b84ac-1321-427f-aa17-267ca6975798/vso.graph 499b84ac-1321-427f-aa17-267ca6975798/vso.project 499b84ac-1321-427f-aa17-267ca6975798/vso.profile 499b84ac-1321-427f-aa17-267ca6975798/vso.org', }); const bitbucketAuth = ScmAuth.forBitbucket(mockAuthApi); diff --git a/packages/integration-react/src/api/ScmAuth.ts b/packages/integration-react/src/api/ScmAuth.ts index b3dab4029e..a22b15e400 100644 --- a/packages/integration-react/src/api/ScmAuth.ts +++ b/packages/integration-react/src/api/ScmAuth.ts @@ -199,13 +199,13 @@ export class ScmAuth implements ScmAuthApi { const host = options?.host ?? 'dev.azure.com'; return new ScmAuth('azure', microsoftAuthApi, host, { default: [ - 'vso.build', - 'vso.code', - 'vso.graph', - 'vso.project', - 'vso.profile', + '499b84ac-1321-427f-aa17-267ca6975798/vso.build', + '499b84ac-1321-427f-aa17-267ca6975798/vso.code', + '499b84ac-1321-427f-aa17-267ca6975798/vso.graph', + '499b84ac-1321-427f-aa17-267ca6975798/vso.project', + '499b84ac-1321-427f-aa17-267ca6975798/vso.profile', ], - repoWrite: ['vso.code_manage'], + repoWrite: ['499b84ac-1321-427f-aa17-267ca6975798/vso.code_manage'], }); }