Code Samples
|
Prerequisite: The Authentication Web service must be installed. For more information, see Security and Authentication. |
SSO Web Service
-
Add a reference to the SSO Web service (call it SSOWebService).
-
Use the Code Samples for instantiating a single sign-on request and calling the SSO Web service.
-
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.