mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-204: Fix style issues, comments, and a couple of minor code tweaks.
This commit is contained in:
committed by
Nick Couchman
parent
c5321dde71
commit
f569bf58b4
@@ -141,11 +141,14 @@
|
||||
<version>0.9.11-incubating</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Apereo CAS Client API -->
|
||||
<dependency>
|
||||
<groupId>org.jasig.cas.client</groupId>
|
||||
<artifactId>cas-client-core</artifactId>
|
||||
<version>3.4.1</version>
|
||||
<groupId>org.jasig.cas.client</groupId>
|
||||
<artifactId>cas-client-core</artifactId>
|
||||
<version>3.4.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- Guice -->
|
||||
<dependency>
|
||||
<groupId>com.google.inject</groupId>
|
||||
|
@@ -57,8 +57,8 @@ public class ConfigurationService {
|
||||
* into their browser to access Guacamole.
|
||||
*
|
||||
* @return
|
||||
* The client secret to use when communicating with the CAS service,
|
||||
* as configured with guacamole.properties.
|
||||
* The URI to redirect the client back to after authentication
|
||||
* is completed, as configured in guacamole.properties.
|
||||
*
|
||||
* @throws GuacamoleException
|
||||
* If guacamole.properties cannot be parsed, or if the redirect URI
|
||||
|
@@ -28,8 +28,9 @@ import org.apache.guacamole.form.Field;
|
||||
|
||||
/**
|
||||
* Field definition which represents the ticket returned by an CAS service.
|
||||
* Within the user interface, this will be rendered as an appropriate "Log in
|
||||
* with ..." button which links to the CAS service.
|
||||
* This is processed transparently - the user is redirected to CAS, authenticates
|
||||
* and then is returned to Guacamole where the ticket field is
|
||||
* processed.
|
||||
*/
|
||||
public class CASTicketField extends Field {
|
||||
|
||||
|
@@ -58,21 +58,25 @@ public class TicketValidationService {
|
||||
* guacamole.properties could not be parsed.
|
||||
*/
|
||||
public String processUsername(String ticket) throws GuacamoleException {
|
||||
|
||||
AttributePrincipal principal = null;
|
||||
|
||||
// Retrieve the configured CAS URL and establish a ticket validator
|
||||
// Retrieve the configured CAS URL, establish a ticket validator,
|
||||
// and then attempt to validate the supplied ticket. If that succeeds,
|
||||
// grab the principal returned by the validator.
|
||||
String casServerUrl = confService.getAuthorizationEndpoint();
|
||||
Cas20ProxyTicketValidator sv = new Cas20ProxyTicketValidator(casServerUrl);
|
||||
sv.setAcceptAnyProxy(true);
|
||||
Cas20ProxyTicketValidator validator = new Cas20ProxyTicketValidator(casServerUrl);
|
||||
validator.setAcceptAnyProxy(true);
|
||||
try {
|
||||
String confRedirectURI = confService.getRedirectURI();
|
||||
Assertion a = sv.validate(ticket, confRedirectURI);
|
||||
Assertion a = validator.validate(ticket, confRedirectURI);
|
||||
principal = a.getPrincipal();
|
||||
}
|
||||
catch (TicketValidationException e) {
|
||||
throw new GuacamoleException("Ticket validation failed.", e);
|
||||
}
|
||||
|
||||
// Return the principal name as the username.
|
||||
return principal.getName();
|
||||
|
||||
}
|
||||
|
@@ -34,16 +34,19 @@ angular.module('guacCAS').config(['formServiceProvider',
|
||||
|
||||
/**
|
||||
* Config block which augments the existing routing, providing special handling
|
||||
* for the "ticket=" fragments provided by OpenID Connect.
|
||||
* for the "ticket=" parameter provided by the CAS authentication process.
|
||||
*/
|
||||
angular.module('index').config(['$routeProvider','$windowProvider',
|
||||
function indexRouteConfig($routeProvider,$windowProvider) {
|
||||
|
||||
var $window = $windowProvider.$get();
|
||||
var curPath = $window.location.href;
|
||||
var ticketPos = curPath.indexOf("?ticket=") + 8;
|
||||
var hashPos = curPath.indexOf("#/");
|
||||
if (ticketPos > 0 && ticketPos < hashPos) {
|
||||
var ticketPos = curPath.indexOf('?ticket=');
|
||||
if (ticketPos < 0)
|
||||
return null;
|
||||
ticketPos += 8;
|
||||
var hashPos = curPath.indexOf('#/');
|
||||
if (ticketPos < hashPos) {
|
||||
var ticket = curPath.substring(ticketPos, hashPos);
|
||||
var newPath = curPath.substring(0,ticketPos - 8) + '#/?ticket=' + ticket;
|
||||
$window.location.href = newPath;
|
||||
|
Reference in New Issue
Block a user