ASP.NET Identity - 外部サービスによる認証のエラーログを有効にしてみる
最近 ASP.NET Identity とか Katana の勉強を始めました。
Introduction to ASP.NET Identity : The Official Microsoft ASP.NET Site
とりあえず小ネタのメモを1つ。
MVC のプロジェクトで google や facebook のログインがうまくいかない時があって原因がわからず調べていたのですが、ソースを見ているとILogger
を使ってエラーログなどを出力していました。
ILogger Interface (Microsoft.Owin.Logging)
たとえばこのあたりとかで使っています。
Microsoft.Owin.Security.Google/GoogleAuthenticationHandler.cs
デフォルトではSystem.Diagnostics.TraceSource
を使ったロガーが使われているようです。
DiagnosticsLoggerFactory Class (Microsoft.Owin.Logging)
Microsoft.Owin/Logging/DiagnosticsLoggerFactory.cs
ということでこのトレースログの出力を有効にするには web.config に次のように追加するといいみたいです。
<system.diagnostics> <switches> <add name="Microsoft.Owin" value="All"/> </switches> </system.diagnostics>
たとえば google でログインしようとしてキャンセルすると、こんなログが出力されるようになります。
Microsoft.Owin.Security.Google.GoogleAuthenticationMiddleware Warning: 0 : Missing mode parameter
これだけではわからないとは思いますが、例外のログなども出力しているようなので何かと調べるのに役立つかなと思います。