* [security] Token auth provider
From a user perspective, the token provider behaves similarly to the
basic provider in that it can power the native login experience and can
also be used for API calls via the authorization header (albeit with the
Bearer realm).
From a technical perspective, the token provider deals with
authentication via the token service in Elasticsearch, so while it
handles user credentials in the case of login, a temporary, refreshable
access token is stored in the session cookie instead. This means that
when you log out, not only is the cookie invalidated, but the token
itself cannot be reused.
* token provider integration tests
* include token api integration tests by default
* remove unused ProviderOptions from typedef
* assert that valid login sets an authorization header
* unit tests for refresh token and failure cases
* integration tests for headers and sessions
* clean up login/logout tests for consistent setup functions
* test for header rejection scenarios