我正在尝试将我的代码从现在过时的Microsoft Helper类更新到用于Active Directory AD与MVC集成的新nuget包。样本在这里https://github.com/AzureADSamples
我的应用程序使用授权过滤器,因此代码不完全相同,我已经更新了大部分内容,但我坚持使用一种翻译。
在示例中,有一个请求助手类获取令牌。
通话方法
string accessToken = AuthUtils.GetAuthToken(Request, HttpContext);
帮手方法
public static string GetAuthToken(HttpRequestBase request, HttpContextBase httpContext)
在过滤器中,
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
正确的翻译是什么?请求'不存在于过滤器中,只存在于控制器上。
我试过这个,但它不起作用并返回一个空标记:
string accessToken = MVCGraphServiceHelper.GetAuthToken(filterContext.HttpContext.Request, filterContext.HttpContext);
答案 0 :(得分:0)
这是一个相当大的挑战,最终我无法获得Windows示例中使用的代码。因此,我已经放弃了过滤器中的HTTP Context选项,并使用了Console App示例中的代码,该代码以不同的方式连接到Graph API,并且运行良好。此外,它确实看起来像WIF是必需的,因为它使用了.Net 4.5中的Microsoft.IdentityModel命名空间而不是System.IdentityModel。安装Nugetpackage的“Active Directory身份验证库”就可以了。
所有工作尽管比预期花了3天的时间。
希望这可以帮助其他人升级或者在他们的开发中升级。