HttpContext.Current.User not set automatically in INavigable when using OAuth authentication

I'm not sure if I'm just doing something wrong, but the context user is not set in INavigable if you are using OAuth authentication (e.g. from a remote service).  Cookie-based authentication seems to work fine from within the browser.  Below is the work-around I came up with from just fumbling around in the underlying references, but I'm wondering if there's a better way to do it, or if it's a bug or something?

Thanks!