-  authenticate(+Request, -Identity:dict) is det
 - Establish the identity behind the HTTP Request. There are two
scenarios.
- The entire server is protected using HTTP authentication. In
this case this predicate may throw an HTTP challenge or a
forbidden exception.
 
- The server allows for mixed anonymous and logged in usage. Login
may use HTTP or federated login (oauth2).
 
- throws
 - - 
http_reply(_) HTTP authentication and permission exceptions
if config-available/auth_http_always.pl is enabled.