Class AuthenticationResource

  • All Implemented Interfaces:
    ProtectedWebResource, WebAuthenticationValidation, WebAuthorizationValidation, SilverpeasWebResource

    @WebService
    @Path("authentication")
    public class AuthenticationResource
    extends RESTWebService
    A REST-based Web service to authenticate a user in Silverpeas.

    If the authentication matches the Basic authentication scheme, then a session is opened in Silverpeas for the user behind the request and this session can be used both for browsing the Silverpeas web portal or to access the REST API by the same client. If the authentication matches a Bearer authentication scheme, then a session is created just for the HTTP request. Latter is hence pertinent only to check the the user can access the REST API of Silverpeas.

    This service is only interesting for opening an HTTP session before performing several tasks in Silverpeas. It avoids to authenticate the user by its login and password for each HTTP request against the REST API of Silverpeas. Nevertheless, the recommended (and better) way to consume the REST API is to use the Bearer authentication scheme with the API token of the user; the token can be passed in each request against the REST API in the Authorization HTTP header without passing through the heaver authentication mechanism by user credentials (login/domain/password).

    • Constructor Detail

      • AuthenticationResource

        public AuthenticationResource()
    • Method Detail

      • authenticate

        @POST
        @Produces("application/json")
        public UserProfileEntity authenticate()
        Authenticates the user from his credentials passed through the Authorization HTTP header, opens a new HTTP session in Silverpeas in the case of a Basic authentication scheme, or throws a WebApplicationException exception. If the user has already opened a session in Silverpeas and the request carries the session identifier, then nothing is done.
        Returns:
        The profile of the user once authenticated.
      • getComponentId

        public String getComponentId()
        Description copied from interface: SilverpeasWebResource
        Gets the identifier of the component instance to which the requested resource belongs to.
        Returns:
        the identifier of the Silverpeas component instance.