예제 #1
0
        public string handle(Credentials credentials,
                             string proxyGrantingTicketId)
        {
            HttpBasedServiceCredentials serviceCredentials = (HttpBasedServiceCredentials)credentials;
            string proxyIou = this.uniqueTicketIdGenerator
                              .getNewTicketId(PGTIOU_PREFIX);
            string        serviceCredentialsAsString = serviceCredentials.getCallbackUrl().ToString();
            StringBuilder stringBuffer = new StringBuilder(
                serviceCredentialsAsString.Length + proxyIou.Length
                + proxyGrantingTicketId.Length + 15);

            stringBuffer.Append(serviceCredentialsAsString);

            if (serviceCredentials.getCallbackUrl().Query != null)
            {
                stringBuffer.Append("&");
            }
            else
            {
                stringBuffer.Append("?");
            }

            stringBuffer.Append("pgtIou=");
            stringBuffer.Append(proxyIou);
            stringBuffer.Append("&pgtId=");
            stringBuffer.Append(proxyGrantingTicketId);

            if (this.httpClient.isValidEndPoint(stringBuffer.ToString()))
            {
                //if (log.isDebugEnabled())
                //{
                //    log.debug("Sent ProxyIou of " + proxyIou + " for service: "
                //        + serviceCredentials.toString());
                //}
                return(proxyIou);
            }

            //if (log.isDebugEnabled())
            //{
            //    log.debug("Failed to send ProxyIou of " + proxyIou
            //        + " for service: " + serviceCredentials.toString());
            //}
            return(null);
        }
예제 #2
0
        public bool authenticate(Credentials credentials)
        {
            HttpBasedServiceCredentials serviceCredentials = (HttpBasedServiceCredentials)credentials;

            if (this.requireSecure &&
                !serviceCredentials.getCallbackUrl().Scheme.Equals(
                    PROTOCOL_HTTPS))
            {
                //if (log.isDebugEnabled()) {
                //    log.debug("Authentication failed because url was not secure.");
                //}
                return(false);
            }
            //log
            //    .debug("Attempting to resolve credentials for "
            //           + serviceCredentials);

            return(this.httpClient.isValidEndPoint(serviceCredentials
                                                   .getCallbackUrl()));
        }
        /**
         * Method to return a simple Service Principal with the identifier set to be
         * the callback url.
         */
        public Principal resolvePrincipal(Credentials credentials)
        {
            HttpBasedServiceCredentials serviceCredentials = (HttpBasedServiceCredentials)credentials;

            return(new SimpleWebApplicationServiceImpl(serviceCredentials.getCallbackUrl().ToString()));
        }