Pass a `ServiceUser` instead of an `IPrincipal`, so that we can get the provider credentials. The code is casting it in the second line of the method anyway.