You made this change because `caller` here is actually the application-level user, not the connect user.  However, since this is connect code it shouldn't really know about the application-level user, only the connect user.  Also, the that `caller` has a method `openstax_connect_user` is something that is defined in Exercises, not in Accounts.

The problem is that `handle_with` defaults `caller` to `current_user`, which returns the application-level user.  

I think the best thing to do is to redefine `current_user` in the `OpenStax::Connect::ApplicationController` as follows (so that all connect controllers just see connect-level users):

    def current_user
      connect_current_user
    end