define a tree of scopes, creating scope strings to provide access without redundancy, and matching agains required scopes