ASP.NET Identity - 外部サービスによる認証のエラーログを有効にしてみる

最近 ASP.NET Identity とか Katana の勉強を始めました。

Introduction to ASP.NET Identity : The Official Microsoft ASP.NET Site

Katana Project - Home

とりあえず小ネタのメモを1つ。

MVC のプロジェクトで googlefacebook のログインがうまくいかない時があって原因がわからず調べていたのですが、ソースを見ていると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

これだけではわからないとは思いますが、例外のログなども出力しているようなので何かと調べるのに役立つかなと思います。