Interactive login is to be used when the user is present to login (for example, 3rd Party Desktop Applications) and will manage any additional information required at login depending upon a customer's account (such as 2 Factor Authentication codes or National Identifiers).
This is achieved by embedding the Betfair IdentitySSO login page in your application and then obtaining a successful session token upon login. The keep alive operation should be called every 7 minutes if the user is still actively using your application. The embedded login page initially looks like this:
You should be able to detect the presence of a session token in the requests upon successful login for use by your application.
Spanish jurisdiction users:
Italian jurisdiction users:
|product(mandatory)||the product for which the login page is used and on which the user will do the login; this is used in pair with the url param, for whitelisting purposes. |
It can be any string which could define the application (including an AppKey value)
|url (mandatory)||The url to which the the browser should be redirected in case of a successful login. |
This must be whitelisted, paired with the product parameter.
- product (mandatory) - The Application key to which the user is logging into.
- url (mandatory) - The url to which the the browser should be redirected in case of a successful logout. This will be https://www.betfair.com by default but additional URLs can be added to a whitelist by arrangement with Betfair.
A sample client, written in C#, is available to demonstrate this process on Github. This is a C# project created under Visual Studio 2010, written against .Net 4, and is a Winforms Application.
The key steps demonstrated by this client are:
- Embed identitysso.betfair.com into your application
- Handle the login method and retrieval of a session token from the cookies
- Handle the keep alive method
- Handle the logout method
How it works
Upon start-up, the URL of the API login page is assigned to the web browser control:
When the web browser control receives data an event is triggered and the following function called:
Upon successful login the cookie is parsed for the SSOID. The webrowser control made invisible and the SSOID displayed in a TextBox. The keep-alive timer is started
Above the StartKeepAlive function simply starts a 15 minute timer which invokes function OnKeepAliveTimer.
OnKeepAliveTimer sends a Keep Alive message.
A message to this effect is then displayed.
Upon hitting the Logout button the following event handler is invoked:
The keep alive timer is closed. The logout url is sent and a Logged out message is displayed.