|Manuals

Authentication API

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:

Parameter Description
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:

Parameter Description
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:

Parameter Description
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:

Parameter Description
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:

Parameter Description
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:

Parameter Description
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.

See Also

Authentication Methods - External DLL