我如何获得多个API范围使用flask dance make_azure_blueprint



我有一个工作的azure认证层设置为flask应用程序使用flask dance 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"。但是这会返回一个错误,说这不能与资源特定的组混合。输入图片描述

您的需求无法满足。

似乎你试图访问两个api都是default范围和user_impersonation范围。实际上,我们不能使用多个作用域来访问api。

你应该把你想要访问的api放在作用域中。例如,如果你想访问MS图形api,你可以把https://graph.microsoft.com/.default。如果您想访问自定义api,您可以输入api://{back-end app client api}/scope name

相关内容

  • 没有找到相关文章

最新更新