Update `UserInfoTokenServices` to use a PrincipalExtractor interface to extract the principal. Fixes gh-5186