You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Backstage与Azure DevOps集成报错AADSTS900971:未提供回复地址

配置Backstage对接Azure DevOps时遇AADSTS900971错误的解决方案

问题现象

触发登录流程后,Azure SSO抛出错误:缺少返回地址:未提供回复地址(错误码AADSTS900971)
错误截图

已完成的配置与操作步骤

1. 环境变量配置(env.sh)

#!/bin/bash
export AZURE_CLIENT_ID=*********************************...
export AZURE_TENANT_ID=*********************************...
export AZURE_CLIENT_SECRET=*********************************...

2. app-config.yaml 核心配置片段

auth:
  environment: development
  providers:
    microsoft:
      development:
        clientId: ${AZURE_CLIENT_ID}
        clientSecret: ${AZURE_CLIENT_SECRET}
        tenantId: ${AZURE_TENANT_ID}
        domainHint: ${AZURE_TENANT_ID}
        signIn:
          resolvers:
            - resolver: userIdMatchingUserEntityAnnotation
integrations:
  azure:
    - host: dev.azure.com
      credentials:
        - clientId: ${AZURE_CLIENT_ID}
          clientSecret: ${AZURE_CLIENT_SECRET}
          tenantId: ${AZURE_TENANT_ID}

3. 后端模块安装与注册

  • 执行安装命令:
yarn --cwd packages/backend add @backstage/plugin-auth-backend-module-microsoft-provider
yarn --cwd packages/backend add @backstage/plugin-catalog-backend-module-azure
  • 在packages/backend/src/index.ts中添加模块:
...
// catalog plugin
backend.add(import('@backstage/plugin-catalog-backend'));
// mods for ado 
backend.add(import('@backstage/plugin-auth-backend-module-microsoft-provider'));
backend.add(import('@backstage/plugin-catalog-backend-module-azure'));

4. 登录页面自定义配置

修改前端登录页面配置(对应文件通常为packages/app/src/components/Root/Root.tsx):

components: {
    SignInPage: props => (
      <SignInPage
        {...props}
        auto
        providers={[
          {
            id: 'azure-devops-auth-provider',
            title: 'Azure DevOps',
            message: 'Sign in using Azure DevOps',
            apiRef: microsoftAuthApiRef,
          },
        ]}
      />
    ),
  },

解决步骤

错误根源是Azure AD应用注册中未配置匹配Backstage的重定向URI,按以下操作修复:

  1. 登录Azure门户,进入Azure Active Directory -> 应用注册,定位到你为Backstage创建的应用。
  2. 左侧菜单选择身份验证,点击添加平台。
  3. 选择Web类型,输入对应环境的重定向地址:
    • 开发环境:http://localhost:7007/api/auth/microsoft/handler/frame
    • 生产环境:替换为你的Backstage公网域名对应的路径,格式为https://<your-backstage-domain>/api/auth/microsoft/handler/frame
  4. 勾选ID令牌(OpenID Connect登录必需),点击配置。
  5. 保存配置后重启Backstage后端服务,重新测试登录流程。

额外检查:确认app-config.yaml中microsoft provider的环境配置(development/production)与当前运行环境一致,避免变量加载不匹配。

内容的提问来源于stack exchange,提问作者pf12345678910

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:22:03