我正在尝试微软在这里发布的Active示例之一:https://github.com/AzureADSamples/WebApp-WebAPI-OpenIDConnect-DotNet
我设法搞砸了web.config中TodoListService的观众值,并在调用服务时得到了401个未经授权的响应。
问题是,我花了很长时间才弄清楚到底是怎么回事。在调试器中运行它不会在输出窗口中产生任何有用的跟踪语句。事件查看器中也没有事件。
有什么配置可以帮助我更快地找到它吗?是否有具有日志记录或诊断功能的中间件可用于调试此功能?
我想我本可以从GitHub抓取源代码并尝试调试这个问题,但这并不方便。我遗漏了什么吗?
发布于 2015-04-21 03:00:21
您可以使用
Trace.Listeners.Add(new ConsoleTraceListener()); AdalTrace.LegacyTraceSwitch.Level = TraceLevel.Verbose;
详细信息如下:https://github.com/AzureAD/azure-activedirectory-library-for-dotnet#logs
发布于 2017-01-23 17:19:24
在ADAL v3中,创建一个实现IAdalLogCallback的类:
public class AdalLoggerCallback : IAdalLogCallback
{
public void Log(LogLevel level, string message)
{
Console.Write(message);
}
}然后,设置静态LoggerCallbackHandler对象的回调属性:
LoggerCallbackHandler.Callback = new AdalLoggerCallback();发布于 2015-10-22 03:05:43
虽然接受的答案确实打开了ADAL (客户端库)的跟踪,但我遇到了一个问题,需要为OWIN身份验证中间件启用跟踪。
当插入这个中间件时,我的代码只是被拒绝了我的服务的授权:
public void Configuration(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["Audience"],
Tenant = ConfigurationManager.AppSettings["Tenant"]
}
}打开日志可以通过将以下部分添加到项目的web.config中来完成:
<configuration>
<system.diagnostics>
<switches>
<add name="Microsoft.Owin" value="Verbose" />
</switches>
</system.diagnostics>
</configuration>默认情况下,输出将出现在调试控制台窗口中,但可以通过添加跟踪侦听器来更改此结果。我找到了一篇内容丰富的文章这里。
结果,我忘了关闭多租户服务的发行者验证。
https://stackoverflow.com/questions/27364887
复制相似问题