here is a case that one client has one thousand of users, each user has a redirect url.
the client object will bind one thousand of urls, it is too cost for memory.
so i think that getClient function should take user params, or check the grants and redirectUris with user object