1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *   http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied.  See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  */
19 
20 package org.apache.guacamole.auth.quickconnect;
21 
22 import org.apache.guacamole.GuacamoleException;
23 import org.apache.guacamole.net.auth.AuthenticatedUser;
24 import org.apache.guacamole.net.auth.AbstractAuthenticationProvider;
25 import org.apache.guacamole.net.auth.UserContext;
26 
27 /**
28  * This class provides the necessary hooks into the Guacamole Client authentication
29  * process so that the QuickConnect functionality can be initialized and used
30  * throughout the web client.
31  */
32 public class QuickConnectAuthenticationProvider extends AbstractAuthenticationProvider {
33 
34     @Override
getIdentifier()35     public String getIdentifier() {
36         return "quickconnect";
37     }
38 
39     @Override
getUserContext(AuthenticatedUser authenticatedUser)40     public UserContext getUserContext(AuthenticatedUser authenticatedUser)
41             throws GuacamoleException {
42 
43         return new QuickConnectUserContext(this,
44                 authenticatedUser.getIdentifier());
45 
46     }
47 
48 }
49