PublicShow sourceauthenticate.pl -- Authentication access for SWISH

This module (depending on the loaded configuration) identifies the user based on the HTTP request.

See also
- pep.pl for authorization issues.
Source 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.
Source user_property(+Identity, ?Property) is nondet
True when Identity has Property. Defined properties are:
peer(Atom)
Remote IP address
identity(Atom)
Identity as provided by some identity provider
identity_provider(Atom)
Subsystem that identified the user
external_identity(Atom)
Identity as provided by the identity_provider
profile_id(Atom)
Identifier of the profile we have on this user.
login(Atom)
Same as identity_provider(Atom)
name(Atom)
Name associated with the identity
email(Atom)
Email associated with the identity
Source pengines:authentication_hook(+Request, +Application, -User)[multifile]
Is called from the /pengine/create request to establish the logged in user.