当前,在SPA应用程序( Angular 8 )上,我们正在授权用户使用Microsoft的“ OAuth 2.0隐式授予类型”通过ADAL服务。
加载应用程序后,将使用单个环境配置来初始化Adal服务。因此,在获取令牌时,它会使用加载的配置。
场景:现在我们有两个资源端点:
解决方法:我们可以做的是首先使用Graph API配置获取API资源的访问令牌,然后加载Power BI配置以获取Power BI资源的访问令牌。
但这是我们面临的一个主要问题:如果用户再次访问API资源,则必须再次加载API配置,并再次提示用户登录。
方法1 :我们可以在同一AD(Active Directory)下注册Microsoft graph API资源和Power BI资源,以便可以使用相同的访问令牌访问两端的资源(I不确定我们是否可以使用相同的访问令牌访问多个资源。
请提出我们该如何处理。
等待您宝贵的回应方法。
答案 0 :(得分:2)
问题: 我不确定我们是否可以使用相同的访问令牌访问多个资源?
答案:很遗憾,您不能这样做。当您请求令牌时,所有$json = @"
{ "Job1": [
{
"Name": "Ram",
"Location" : "India"
},
{
"Name": "Anthony",
"Location": "London"
},
{
"Name": "Elena" ,
"Location": "Zurich"
}
],
"Job2": [
{
"Build" : "fail",
"Anthony" : "right",
"Sam" : "left"
}]}
"@ | convertfrom-json
foreach ($obj in $json.Job1) {
$key = $obj.Name
$values = [PSCustomObject][ordered]@{Key = $key; Value = $obj."$key" }
$values
}
身份验证流程都不允许多个Microsoft Provided
。
您将遇到流动错误。
AADSTS28000:输入参数范围的提供值无效 因为它包含多个资源。
因此,您必须分别向每个资源/范围请求令牌。
有关更多详细信息,您可以查看official docs