azure - 如何使用烧瓶舞 make_azure_blueprint 获得多个 API 范围
问题描述
我使用烧瓶舞 make_azure_blueprint 将工作天蓝色身份验证层设置为烧瓶应用程序。
blueprint = make_azure_blueprint(
client_id=client_id,
client_secret=client_secret,
tenant=tenant_id,
scope=[
scopes.Email,
scopes.DirectoryReadAll,
scopes.OpenID,
scopes.Profile,
scopes.UserRead,
scopes.UserReadAll,
],
login_url=LOGIN_URL_PATH,
authorized_url=AUTH_CALLBACK_URL_PATH,
redirect_url='http://localhost:5000/',
)
app.register_blueprint(blueprint, url_prefix="/login")
范围是:范围 -
DirectoryReadAll = 'Directory.Read.All'
Email = 'email'
GroupMemberReadAll = 'GroupMember.Read.All'
Profile = 'profile'
OpenID = 'openid'
UserReadBasicAll = 'User.ReadBasic.All'
UserRead = 'User.Read'
UserReadAll = 'User.Read.All'
使用它,我能够检索用户信息并显示在应用程序上。现在我正在尝试结合 Azure 时间序列洞察范围“https://api.timeseries.azure.com//user_impersonation”。但这会返回一个错误,指出这不能与特定于资源的组混合。 在此处输入图像描述
解决方案
你的需求是遥不可及的。
看来您尝试访问两个 apidefault
范围和user_impersonation
范围。实际上我们不能使用多个范围来访问 api。
您应该将要访问的api放在范围内。例如,如果你想访问 MS graph api,你可以把https://graph.microsoft.com/.default
. 如果要访问自定义 api,可以输入api://{back-end app client api}/scope name
.
推荐阅读
- node.js - Nginx 反向代理不适用于多个 NodeJs 项目
- javascript - 需要正确的 JavaScript 以 PDF 形式进行计算
- r - 删除 R 中文本前后的所有字符,然后从新文本创建列
- javascript - 角传单标记添加窗格选项不起作用
- mysql - 使用 Homebrew 进行 MySQL 的 M1 本机安装时出错
- django - 如何通过覆盖另一个模型中的保存方法来更新字段
- multidimensional-array - 对体素使用多维数组的最佳方法
- apache-spark - 非 Databricks 平台上的 Spark Delta 格式
- javascript - 如何将图像上传到 Cloudinary - MERN 堆栈
- powershell - Power Shell Advice(删除与某个名称不匹配的所有文件夹/子文件夹)