This project has retired. For details please refer to its Attic page.
PasswordService xref
View Javadoc

1   package org.apache.archiva.redback.rest.api.services;
2   /*
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *   http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing,
14   * software distributed under the License is distributed on an
15   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16   * KIND, either express or implied.  See the License for the
17   * specific language governing permissions and limitations
18   * under the License.
19   */
20  
21  import org.apache.archiva.redback.authorization.RedbackAuthorization;
22  import org.apache.archiva.redback.rest.api.model.User;
23  
24  import javax.ws.rs.GET;
25  import javax.ws.rs.Path;
26  import javax.ws.rs.Produces;
27  import javax.ws.rs.QueryParam;
28  import javax.ws.rs.core.MediaType;
29  
30  /**
31   * @author Olivier Lamy
32   * @since 1.4
33   */
34  @Path( "/passwordService/" )
35  public interface PasswordService
36  {
37  
38      /**
39       * used to change the password on first user connection after registration use.
40       * the key is mandatory and a control will be done on the username provided.
41       * <b>need to be logged by {@link UserService#validateUserFromKey(String)}</b>
42       * @return username
43       */
44      @GET
45      @Path( "changePasswordWithKey" )
46      @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
47      @RedbackAuthorization( noRestriction = true, noPermission = true )
48      User changePasswordWithKey( @QueryParam( "password" ) String password,
49                                    @QueryParam( "passwordConfirmation" ) String passwordConfirmation,
50                                    @QueryParam( "key" ) String key )
51          throws RedbackServiceException;
52  
53      /**
54       * used to change the password on passwordChangeRequired state.
55       */
56      @GET
57      @Path( "changePassword" )
58      @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN } )
59      @RedbackAuthorization( noRestriction = true, noPermission = true )
60      User changePassword( @QueryParam( "userName" ) String userName,
61                              @QueryParam( "previousPassword" ) String previousPassword,
62                              @QueryParam( "password" ) String password,
63                              @QueryParam( "passwordConfirmation" ) String passwordConfirmation )
64          throws RedbackServiceException;
65  }