gpt4 book ai didi

c# - 使用 Azure AD 身份验证获取承载访问 token 以访问 o365 资源

转载 作者:太空宇宙 更新时间:2023-11-03 14:54:19 28 4
gpt4 key购买 nike

我正在使用 bog-standard、file->new Asp.Net Core Web Application (Razor Pages) 项目,并将其配置为对 o365 实例使用 Azure AD 身份验证,效果很好。

我现在想使用该应用程序通过图形 API 访问 o365 资源(例如我的日历)。在asp.net core 2.0中,我使用了描述的方法here获取访问 token ,缓存它,并为任何图形请求检索它。它依赖于 OpenIdConnect 事件 (OnAuthorizationCodeReceived) 来获取访问代码。

我在使用 asp.net core 2.1 的新 AddAzureAd 方法上没有看到任何类似事件。现在是否有一种新的方法来获取用于 Graph 调用的 token ?

最佳答案

这一直是一个复杂的问题,并且根据您的情况(所需的权限、您正在谈论的工作量),这个答案可能需要调整。首先,在这里,您拥有代码授权和 id_token。实现你想要实现的最简单的方法(就用户体验而言可能不是最好的)它临时存储 id token 。 (假设在 token 缓存中)

services.AddAuthentication()
.AddOpenIdConnect(opts =>
{
opts.Events = new OpenIdConnectEvents
{
OnAuthorizationCodeReceived = ctx =>
{
return Task.CompletedTask;
}
};
});

你可以看一个例子here您还需要确保您的应用程序配置了正确的 permissions你应该准备好了!

关于c# - 使用 Azure AD 身份验证获取承载访问 token 以访问 o365 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50401413/

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