authenticate.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.
- 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.
- 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
- pengines:authentication_hook(+Request, +Application, -User)[multifile]
- Is called from the /pengine/create request to establish the logged
in user.