Private token = user "Hub user" role "Hub information" web service "Hub information" token "Hub name"
Public token = created when config setting is changed to "Allow public access to list and search courses in this hub"
Can register to a hub. If "keep my entry up-to-date" is not unset then generates a private token and sends it with registration.
get_info() - requires private token
Can register to the directory. A private token is generated and sent automatically.
Can provide a public hub token if admin allows it in config.
get_sites() - requires private token
get_courses() - using public hub token
Provides a publc token always.
get_hubs() - requires public web token
get_courses() - requires public hub token