z/Scope Anywhere provides you with an API that you can use to develop your own authentication method and integrate it with z/Scope Anywhere.
Choose the code sample of your language of preference and add it to your implementation:
Delphi:
function ValidateUser(
const UserName, Password, Metadata: PWideChar;
SecurityRole, WinUser, WinPass, CustomData: PWideChar;
var Handled: Boolean): Cardinal; stdcall;
|
Input:
Username & Password
|
The credentials that you are trying to validate with the external authentication
|
Metadata
|
A JSON with the remote browser/user information: URL, IP, Cookie UBRWID and the product's name
|
Output:
SecurityRole
|
Specifies the Windows mapping of the authenticated user (UserName and Password). This SecurityRole can either be a Windows user or group, and it will be used to check which profiles it has access to
|
WinUser, WinPass
|
(optional) Credentials of a mapped Windows user. Will be used to run the application instance.
|
CustomData
|
(optional) Data for passing on to the application
|
Handled
|
Returns whether the login could be handled by the DLL.
|
C++:
THINFINITY_API DWORD __stdcall ValidateUser(LPWSTR lpUserName, LPWSTR lpPassword, LPWSTR lpMetadata,
LPWSTR lpSecurityRole, LPWSTR lpWinUser, LPWSTR lpWinPass, LPWSTR lpCustomData,
PBOOLEAN pHandled)
|
Input:
lpUserName & lpPassword
|
The credentials that you are trying to validate with the external authentication
|
lpMetadata
|
A JSON with the remote browser/user information: URL, IP, Cookie UBRWID and the product's name
|
Output:
lpSecurityRole
|
Specifies the Windows mapping of the authenticated user (UserName and Password). This SecurityRole can either be a Windows user or group, and it will be used to check which profiles it has access to
|
lpWinUser, lpWinPass
|
(optional) Credentials of a mapped Windows user. Will be used to run the application instance.
|
lpCustomData
|
Data for passing on to the application
|
pHandled
|
Returns whether the login could be handled by the DLL.
|
C#:
[DllExport("ValidateUser", CallingConvention = CallingConvention.StdCall)]
[return: MarshalAs(UnmanagedType.I4)]
public static Int32 ValidateUser(
[In, MarshalAs(UnmanagedType.LPWStr)] string lpUserName,
[In, MarshalAs(UnmanagedType.LPWStr)] string lpPassword,
[In, MarshalAs(UnmanagedType.LPWStr)] string lpMetadata,
[In, Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpSecurityRole,
[In, Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpWinUser,
[In, Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpWinPass,
[In, Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpCustomData,
[Out] bool pHandled);
|
Input:
lpUserName & lpPassword
|
Specifies the Windows mapping of the authenticated user (UserName and Password). This SecurityRole can either be a Windows user or group, and it will be used to check which profiles it has access to
|
lpMetadata
|
A JSON with the remote browser/user information: URL, IP, Cookie UBRWID and the product's name
|
Output:
lpSecurityRole
|
The authenticated username
|
lpWinUser, lpWinPass
|
(optional) Credentials of a mapped Windows user. Will be used to run the application instance.
|
lpCustomData
|
Data to pass on to the application
|
pHandled
|
Returns whether the login could be handled by the DLL.
|
Read More:
|