我正试图从web API项目中使用Microsoft.Identity.web库对Microsoft Graph API SDK进行简单调用。
用户已经登录,正在从SPA调用受保护的控制器,一切都正常工作--但是现在,这些控件应该调用图形API,而我没有启动并运行它...
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi(initialScopes)
.AddMicrosoftGraph(Configuration.GetSection("DownstreamApi"))
.AddInMemoryTokenCaches();
而且
MicrosoftIdentityWebChallengeUserException:IDW10502:由于对用户的质询,引发了MsalUiRequiredException。请参阅https://aka.ms/ms-id-web/ca_incremental-actority。
然后我想,好吧,由于现在这是api相关的,我将把代码从
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi(new string[] { "user.read" })
.AddMicrosoftGraph(Configuration.GetSection("DownstreamApi"))
.AddInMemoryTokenCaches();
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApi(Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi()
.AddMicrosoftGraph(Configuration.GetSection("DownstreamApi"))
.AddInMemoryTokenCaches();
public async Task<string> CallGraphApiOnBehalfOfUser()
{
string[] scopes = { "user.read" };
// we use MSAL.NET to get a token to call the API On Behalf Of the current user
try
{
string accessToken = await _tokenAcquisition.GetAccessTokenForUserAsync(scopes);
dynamic me = await CallGraphApiOnBehalfOfUser(accessToken);
return me.UserPrincipalName;
}
catch (MicrosoftIdentityWebChallengeUserException ex)
{
await _tokenAcquisition.ReplyForbiddenWithWwwAuthenticateHeaderAsync(scopes, ex.MsalUiRequiredException);
return string.Empty;
}
catch (MsalUiRequiredException ex)
{
await _tokenAcquisition.ReplyForbiddenWithWwwAuthenticateHeaderAsync(scopes, ex);
return string.Empty;
}
}
当稍后找到调用下游Web API的示例Web API时,我想现在一切都变得容易了,但是尽管WebAPI调用了Microsoft Graph,但他们首先使用Windows应用程序登录用户。
在stackoverflow上,我发现了如何在SPA应用程序中从Web API访问图形API,但不幸的是,这个问题希望已经过时了。
有没有人知道如何让web应用程序的示例代码在一个仅web api的项目中运行?(不涉及windows应用程序)
Microsoft.Identity.Web版本1.4.0
2.Web API现在称为Microsoft Graph,这就是您要查找的API。客户端是windows应用程序这一事实并不相关。试试看,让我知道情况如何。
问题内容: 可以说我有以下代码: 有没有一种方法可以以编号方式访问项目,例如: 问题答案: 如果是,则可以通过获取(key,value)对的元组的索引来轻松访问元素,如下所示 Python 3.X的注意事项 将返回一个可迭代的dict视图对象而不是一个列表。我们需要将调用包装到一个列表上,以使建立索引成为可能
我想通过postman在openshift项目上创建kafka connect连接器。但是当通过邮递员发送Post命令时,出现如下错误。在openshift中将pod公开为服务(通过postman进行交互)时,我们需要运行什么特定的命令?请指教。 您看到此页面的可能原因: 主机不存在。确保正确键入了主机名,并且存在与此主机名匹配的路由。 主机存在,但没有匹配的路径。检查URL路径是否键入正确,以及
我目前正在使用火花从数据库笔记本访问deltalake表。但是现在我需要从MLflow项目访问delta表。MLflow火花api只允许记录和加载SparkML模型。知道如何实现吗? 目前,我正在尝试通过MLflow项目中的此代码访问火花: 但是我得到这个错误:
当我运行php artisan服务时,请复制此URLhttp://127.0.0.1:8000/.它的作品。我想通过url访问我的项目http://localhost/myproject/public/.它返回空白页。当我检查元素时,它返回500。内部服务器错误。感谢你在这方面的帮助。非常感谢。 Laravel版本:5.4 Php版本:7.1。12 我可以访问文件夹,但在访问公用文件夹本身时。返回
问题内容: 我试图在把手模板内的数组中指定项的索引: 使用这个: 如果上述方法不可行,我将如何编写一个可以访问数组中特殊项目的助手? 问题答案: 尝试这个:
我的Firebase数据是这样组织的: 如何通过名称检索客户? 名称保证是唯一的。 这是我的客户服务,目前: 我应该在每个findByName()调用中扫描所有客户吗? 还是应该构建一个类似“二级索引”的东西? 拜托,一些建议,我才刚刚开始...-(