Example #1
0
        /// <summary>
        /// Creates a session with the server using username and password
        /// </summary>
        /// <param name="server">hostname of the server to login</param>
        /// <param name="username">username for login</param>
        /// <param name="password">password for login</param>
        /// <returns>the stub configuration configured with an authenticated
        ///          session
        /// </returns>
        public StubConfiguration LoginByUsernameAndPassword(string server,
                                                            string username, string password)
        {
            if (this.sessionSvc != null)
            {
                throw new Exception("Session already created");
            }

            StubFactory = CreateApiStubFactory(server);

            // Create a security context for username/password authentication
            ExecutionContext.SecurityContext securityContext =
                new UserPassSecurityContext(
                    username, password.ToCharArray());

            /*
             * Create a stub configuration with username/password security
             * context
             */
            StubConfiguration stubConfig = new StubConfiguration();

            stubConfig.SetSecurityContext(securityContext);

            // Create a session stub using the stub configuration.
            Session session =
                StubFactory.CreateStub <Session>(stubConfig);

            // Login and create a session
            char[] sessionId = session.Create();

            /*
             * Initialize a session security context from the generated
             * session id
             */
            SessionSecurityContext sessionSecurityContext =
                new SessionSecurityContext(sessionId);

            // Update the stub configuration to use the session id
            stubConfig.SetSecurityContext(sessionSecurityContext);

            /*
             * Create a stub for the session service using the authenticated
             * session
             */
            this.sessionSvc =
                StubFactory.CreateStub <Session>(stubConfig);
            return(stubConfig);
        }
Example #2
0
        /// <summary>
        /// Creates a session with the server using SAML Bearer Token
        /// </summary>
        /// <param name="server">hostname of the server to login</param>
        /// <param name="username">username for login</param>
        /// <param name="password">password for login</param>
        /// <returns>the stub configuration configured with an authenticated
        ///          session
        /// </returns>
        public StubConfiguration LoginBySamlBearerToken(string server,
                                                        SamlToken samlBearerToken)
        {
            if (this.sessionSvc != null)
            {
                throw new Exception("Session already created");
            }

            StubFactory = CreateApiStubFactory(server);

            // Create a SAML security context using SAML bearer token
            ExecutionContext.SecurityContext samlSecurityContext = new SamlTokenSecurityContext(
                samlBearerToken, null);

            /*
             * Create a stub configuration with username/password security
             * context
             */
            StubConfiguration stubConfig = new StubConfiguration();

            stubConfig.SetSecurityContext(samlSecurityContext);

            // Create a session stub using the stub configuration.
            Session session =
                StubFactory.CreateStub <Session>(stubConfig);

            // Login and create a session
            char[] sessionId = session.Create();

            /*
             * Initialize a session security context from the generated
             * session id
             */
            SessionSecurityContext sessionSecurityContext =
                new SessionSecurityContext(sessionId);

            // Update the stub configuration to use the session id
            stubConfig.SetSecurityContext(sessionSecurityContext);

            /*
             * Create a stub for the session service using the authenticated
             * session
             */
            this.sessionSvc =
                StubFactory.CreateStub <Session>(stubConfig);
            return(stubConfig);
        }