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

使用Streamlit+Python连接AD B2C自定义策略遇AADSTS50049错误

解决Streamlit连接Azure AD B2C自定义策略的AADSTS50049错误

使用Streamlit结合streamlit_msal库连接Azure AD B2C自定义策略时出现AADSTS50049错误(提示"未知或无效实例"),核心原因是Authority URL格式不符合B2C自定义策略的要求,以下是修复方案:

1. 修正Authority URL格式

Azure AD B2C自定义策略的正确Authority URL必须包含tfp(Trust Framework Policy)标识段,格式如下:

https://<TENANT_DOMAIN>.b2clogin.com/tfp/<TENANT_DOMAIN>/<CUSTOM_POLICY_ID>/

替换你的代码中authority参数,修正后的示例代码:

import streamlit as st
from streamlit_msal import Msal

auth_data = Msal.initialize_ui(
    client_id=<MY_CLIENT_ID>,                       
    authority="https://<TENANT>.b2clogin.com/tfp/<TENANT>.onmicrosoft.com/B2C_1A_CUSTOM_POLICY/",
    scopes=[],
    connecting_label="Conectado",
    disconnected_label="Desconectado",
    sign_in_label="Entrar",
    sign_out_label="Desconectar"    
)

2. 验证关键参数正确性

  • 确认<TENANT>替换为你的B2C租户完整域名(如your-tenant.onmicrosoft.com),需与Azure门户中显示的租户信息完全一致。
  • 确认B2C_1A_CUSTOM_POLICY是Azure门户中已发布的自定义策略ID,无拼写错误或格式偏差。

3. 可选:补充Scopes配置

如果你的应用需要访问受B2C保护的API,需在scopes参数中添加对应的权限范围,例如:

scopes=["https://<TENANT>.onmicrosoft.com/api/read"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 10:34:55