gpt4 book ai didi

microsoft-graph-api - 微软图形休息 API 测试版 : application created by api in azure ad b2c is not valid

转载 作者:行者123 更新时间:2023-12-04 10:57:53 27 4
gpt4 key购买 nike

我正在尝试按照以下文档使用 beta api 创建广告应用程序:
https://docs.microsoft.com/en-us/graph/api/application-post-applications?view=graph-rest-beta&tabs=http

可以按预期在 Azure AD B2C( 而不是 Azure Active Directory)中成功创建应用程序。问题是当我尝试从门户打开此应用程序时,页面只是不断加载而应用程序信息从未显示。我可以看到浏览器开发工具出现错误:

以下请求返回 404 错误:
https://main.b2cadmin.ext.azure.com/api/ApplicationV2/GetApplication?tenantId=mytestb2ctenant.onmicrosoft.com&applicationId=560df329-47f5-497b-a1d3-08e9e8208062

我可以验证 applicationId 确实是我新创建的广告应用的 appid。不知道为什么会出现 notfound 错误。

然后我在我的 b2c 广告中手动创建了另一个应用程序。我比较了从 get-application 返回的模式这两个应用程序的rest api。唯一的区别是手动创建的有一个默认值 user_impersonation api 范围,而其他范围则没有。也许这会导致错误。

enter image description here

这是我创建广告应用程序的完整 powershell 脚本:

    $b2cDomain = "mytestb2ctenant.onmicrosoft.com"
$applications = "https://graph.microsoft.com/beta/applications"

$headers = @{
"Authorization" = $accessToken;
}
@app = "mytestapp"

$request = @{
displayName = $app
identifierUris = @("https://$b2cDomain/api")
signInAudience = "AzureADandPersonalMicrosoftAccount"
web = @{
redirectUris = @("https://any.valid.url")
implicitGrantSettings = @{
enableIdTokenIssuance = $false
enableAccessTokenIssuance = $true
}
}
isFallbackPublicClient= $false
}

$body = $request | ConvertTo-Json

Log "creating ad app: $app"
$appResponse = Invoke-RestMethod `
-Uri $applications `
-Method Post `
-Headers $headers `
-ContentType "application/json" `
-Body $body


我错过了请求模式的任何内容吗?如何像手动创建一样从rest api创建有效的应用程序?

最佳答案

我猜我找到了根。

从 api 创建的应用程序没有关联的服务原则。需要为它创建一个 sp。我找不到用于从 here 创建 sp 的其余 api .最终使用了 AzueAD powershell 命令:

Connect-AzureAD -Credential $credential -TenantId $b2cTenantId
New-AzureADApplication -DisplayName "myapp"
$app = Get-AzureADApplication -SearchString "myapp"
New-AzureADServicePrincipal -AppId $app.AppId

现在一切似乎都在工作。

顺便说一句,Azure AD B2C 和 Azure Active Directory 中的应用程序应该是同一个东西,只是显示不同的地方。我之前糊涂了。

关于microsoft-graph-api - 微软图形休息 API 测试版 : application created by api in azure ad b2c is not valid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59062273/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com