Code Samples

 Prerequisite: The Authentication Web service must be installed. For more information, see Security and Authentication.  

SSO Web Service

  1. Add a reference to the SSO Web service (call it SSOWebService).

  2. Use the Code Samples for instantiating a single sign-on request and calling the SSO Web service.

  3. Use the following code samples to instantiate an object, build the request message, and receive a response message in return.

    AddNewSso

    public static void AddNewSso(string tokenId)

    {

    var service = new SsoWebService.SsoWebServiceSoapClient();

    var request = new SsoWebService.AddNewSsoRequest();

    var response = new SsoWebService.AddNewSsoResponse();

     

    var inMsg = new SsoWebService.AddNewSsoInMsg();

    var inMsgs = new SsoWebService.AddNewSsoInMsg[1];

     

    inMsg.AuthGuid = "11111515-1111-1117-1111-111187111111";

    inMsg.SsoUserID = 8;

    inMsg.SsoConfigID = 3;

    inMsg.UserRoleType = SsoWebService.SsoUserRoleType.Student;

    inMsg.AllowableIP = "17.17.18.19";

    inMsg.TimeToLive = 99999;

     

    inMsgs[0] = inMsg;

    request.TokenId = tokenId;

    request.AddNewSsoInMsgs = inMsgs;

     

    service.AddNewSso(null, request, out response);

    if (response.Status != SsoWebService.TrxStatus.OK)

    {

    string errorText = "Failed: " + response.Status + " " + response.TrxResult + ".";

    Console.WriteLine(errorText);

    }

    Console.WriteLine("OK");

    Console.Read();

    }

    GetSso

    public static void GetSso(string tokenId)

    {

    var service = new SsoWebService.SsoWebServiceSoapClient();

    var request = new SsoWebService.GetSsoRequest();

    var response = new SsoWebService.GetSsoResponse();

     

    var inMsg = new SsoWebService.GetSsoInMsg();

    var inMsgs = new SsoWebService.GetSsoInMsg[1];

     

    inMsg.AuthGuid = "11111111-1111-1117-1111-111187111111";

    inMsg.IPAddress = "12.12.12.12";

    inMsg.SsoID = 10;

    inMsgs[0] = inMsg;

     

    request.TokenId = tokenId;

    request.GetSsoInMsgs = inMsgs;

     

    service.GetSso(null, request, out response);

    if (response.Status != SsoWebService.TrxStatus.OK)

    {

    string errorText = "Failed: " + response.Status + " " + response.TrxResult + ".";

    Console.WriteLine(errorText);

    }

    Console.WriteLine("OK");

    Console.Read();

    }

    AddNewSsoConfig

    public static void AddNewSsoConfig(string tokenId)

    {

    var service = new SsoWebService.SsoWebServiceSoapClient();

    var request = new SsoWebService.AddNewSsoConfigRequest();

    var response = new SsoWebService.AddNewSsoConfigResponse();

     

    var inMsg = new SsoWebService.AddNewSsoConfigInMsg();

    var inMsgs = new SsoWebService.AddNewSsoConfigInMsg[1];

     

    inMsg.SsoConfigID = 5;

    inMsg.ConfigName = "Test5";

    inMsg.TimeToLive = 10000;

    inMsg.SsoUserRoleType = SsoWebService.SsoUserRoleType.Student;

    inMsg.Active = true;

     

    var userinfo = new SsoWebService.SsoUserInfo();

    userinfo.UserPropertyName = "FirstName";

    userinfo.UserPropertyValue = "Laloo";

     

    var userinfos = new SsoWebService.SsoUserInfo[1];

    userinfos[0] = userinfo;

     

    inMsg.SsoUserInfoItems = userinfos;

     

    inMsgs[0] = inMsg;

    request.TokenId = tokenId;

    request.AddNewSsoConfigInMsgs = inMsgs;

     

    service.AddNewSsoConfig(null, request, out response);

    if (response.Status != SsoWebService.TrxStatus.OK)

    {

    string errorText = "Failed: " + response.Status + " " + response.TrxResult + ".";

    Console.WriteLine(errorText);

    }

    Console.WriteLine("OK");

    Console.Read();

    }

    GetSsoConfig

    public static void GetSsoConfig(string tokenId)

    {

    var service = new SsoWebService.SsoWebServiceSoapClient();

    var request = new SsoWebService.GetSsoConfigRequest();

    var response = new SsoWebService.GetSsoConfigResponse();

     

    var inMsg = new SsoWebService.GetSsoConfigInMsg();

    var inMsgs = new SsoWebService.GetSsoConfigInMsg[1];

     

    inMsg.SsoConfigID = 3;

    inMsgs[0] = inMsg;

     

    request.TokenId = tokenId;

    request.GetSsoConfigInMsgs = inMsgs;

     

    service.GetSsoConfig(null, request, out response);

    if (response.Status != SsoWebService.TrxStatus.OK)

    {

    string errorText = "Failed: " + response.Status + " " + response.TrxResult + ".";

    Console.WriteLine(errorText);

    }

    Console.WriteLine("OK");

    Console.Read();

    }

    UpdateSsoConfig

    public static void UpdateSsoConfig(string tokenId)

    {

    var service = new SsoWebService.SsoWebServiceSoapClient();

    var request = new SsoWebService.UpdateSsoConfigRequest();

    var response = new SsoWebService.UpdateSsoConfigResponse();

     

    var inMsgs = new SsoWebService.UpdateSsoConfigInMsg[1];

    var inMsg = new SsoWebService.UpdateSsoConfigInMsg();

     

    var ssoConfigMsgs = new SsoWebService.SsoConfigMsg[1];

    var ssoConfigMsg = new SsoWebService.SsoConfigMsg();

     

    ssoConfigMsg.SsoConfigID = 5;

    ssoConfigMsg.ConfigName = "Test9";

    ssoConfigMsg.TimeToLive = 10000;

    ssoConfigMsg.SsoUserRoleType = SsoWebService.SsoUserRoleType.Student;

    ssoConfigMsg.Active = true;

     

    var userinfos = new SsoWebService.SsoUserInfo[1];

    var userinfo = new SsoWebService.SsoUserInfo();

     

    userinfo.UserPropertyName = "FirstName";

    userinfo.UserPropertyValue = "Laloo Prashad Yedav";

    userinfos[0] = userinfo;

     

    ssoConfigMsg.SsoUserInfoDefinitionItems = userinfos;

    ssoConfigMsgs[0] = ssoConfigMsg;

     

    inMsg.SsoConfigMsgs = ssoConfigMsgs;

     

    inMsgs[0] = inMsg;

    request.TokenId = tokenId;

    request.UpdateSsoConfigInMsgs = inMsgs;

     

    service.UpdateSsoConfig(null, request, out response);

    if (response.Status != SsoWebService.TrxStatus.OK)

    {

    string errorText = "Failed: " + response.Status + " " + response.TrxResult + ".";

    Console.WriteLine(errorText);

    }

    Console.WriteLine("OK");

    Console.Read();

    }

Methods

AddNewSSO

This method is used to create a user information token.

Precondition

Must reference valid Single Sign-On Web service “SSOWebservice”.

Postcondition – Success

A new Guid is returned successfully.

GetSSO

This method is used to get user information from existing token.

Preconditions

  • Must reference valid Single Sign-On Web service “SSOWebservice.”

  • When creating an SSO for a user, all Prerequisites will be checked. Failure to do so will result in an exception being thrown, with SSO process being cancelled.

Postcondition – Success

The user information is returned successfully. A request object is created successfully. Passing all prerequisites will allow SSO to continue.

Postconditions – Failure

There are several possible causes for failure:

  • Invalid Parameters: If the parameters specified do not match reference values in the current database, the service will return an error in the response message stating the invalid field name.

  • Missing Parameters: If the required parameters are missing, the service will return an error in the transaction result for the message stating the missing field name.

  • Invalid Service Configuration: If there is an invalid configuration for the Web service, the client will receive a generic internal exception message.

AddNewSSOConfig

This method is used to add a new SSO configuration to the database.

Precondition

Must reference valid Single Sign-On Web service “SSOWebservice”.

Postcondition – Success

An SSOConfigId is created successfully.

GetSSOConfig

This method is used to retrieve one or all existing SSO configurations in the database.

Precondition

Must reference valid Single Sign-On Web service “SSOWebservice”.

Postcondition – Success

An SSOConfigId, or all SSOCOnfigurations are returned successfully.

UpdateSSOConfig

This method is used to update an existing SSO configuration in the database.

Precondition

Must reference valid Single Sign-On Web service “SSOWebservice.”

Postcondition – Success

An SSOConfigId is updated successfully.