Changed principal provider get() to getFromKey() to avoid potential clashes