IP Library › Granted Patent US 10,013,549
Granted Patent B2
US 10,013,549 · App. 15/331,386 · Granted Jul 3, 2018

OCR-based single sign-on

Inventors: Chee Meng Low (Singapore, SG); Nandagopal Seshagiri (Berkeley, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F21/41G06F3/01G06F3/048G06F3/04892G06F11/00G06F21/305G06F21/45G06K9/18G06T7/0002G06T7/73H04L63/0815G06F2221/031
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,013,549
App. No.
15/331,386
Granted
Jul 3, 2018
Kind
B2
Abstract

A method and technique for OCR-based single sign-on in a computing environment includes automatically causing a display of a dialog screen of an application in response to launching a login interface of the application. An image of the dialog screen is automatically captured, and version information about the application is derived from the image of the dialog screen. An image of the login interface is automatically captured, and the launched login interface is automatically verified as corresponding to a version of the application based on the version information derived from the image of the dialog screen.

Claims (79)

1. A method, comprising:

responsive to launching a login interface of an application, automatically causing a display of a dialog screen of the application;

automatically capturing an image of the dialog screen;

deriving version information about the application from the image of the dialog screen;

automatically capturing an image of the login interface;

automatically verifying that the launched login interface corresponds to a version of the application based on the version information derived from the image of the dialog screen; and

responsive to successfully verifying that the launched login interface corresponds to the version of the application derived from the image of the dialog screen, initiating a login procedure to the application.

2. The method of claim 1 , further comprising:

determining a location of a cursor on the login interface from the image of the login interface;

determining whether the location of the cursor corresponds to a credential input field of the login interface; and

responsive to determining that the location of the cursor corresponds to the credential input field of the login interface, automatically sending a keystroke to the login interface to insert at least one character to the login interface.

3. The method of claim 2 , wherein:

responsive to determining that the location of the cursor does not correspond to the credential input field, automatically sending a keystroke to the login interface to move the cursor;

capturing another image of the login interface; and

determining from the another image whether the moved location of the cursor corresponds to the credential input field of the login interface.

4. The method of claim 2 , further comprising:

responsive to sending the keystroke to the login interface to insert the at least one character to the login interface, capturing another image of the login interface; and

verifying from the another image that the at least one character is positioned within the credential input field.

5. The method of claim 4 , further comprising, responsive to determining from the another image that the at least one character is not positioned within the credential input field, aborting login to the application.

6. The method of claim 2 , wherein sending the keystroke to the login interface to insert the at least one character to the login interface comprises inserting at least one character of a login credential.

7. The method of claim 2 , wherein sending the keystroke to the login interface to insert the at least one character to the login interface comprises inserting at least one test character, and further comprising:

capturing another image of the login interface;

determining from the another image whether a location of the test character in the login interface corresponds to the credential input field of the login interface;

responsive to determining that the location of the test character in the login interface corresponds to the credential input field of the login interface, automatically sending a keystroke to the login interface to insert a cancelling character to undo the test character; and

automatically sending a keystroke to the login interface to insert at least one character of a login credential to the login interface to insert the login credential to the login interface.

8. A system, comprising:

a hardware processor; and

a sign-on agent executable by the processor to:

responsive to launching of an application login interface, capture an image of the login interface;

determine a location of a cursor on the login interface from the image;

determine whether the location of the cursor corresponds to a credential input field of the login interface;

responsive to determining that the location of the cursor corresponds to the credential input field of the login interface, automatically send a keystroke to the login interface to insert at least one character to the login interface;

capture another image of the login interface;

determine from the another image whether a value of the at least one character is displayed when the value of the at least one character should not be displayed based on a type of the credential input field; and

responsive to determining that the value of the at least one character is displayed when the value should not be displayed, automatically send a keystroke to the login interface to insert a cancelling character to undo the insertion of the at least one character.

9. The system of claim 8 , wherein the sign-on agent is executable to:

responsive to determining that the location of the cursor does not correspond to the credential input field, automatically send a keystroke to the login interface to move the cursor;

cause another image of the login interface to be captured; and

determine from the another image whether the moved location of the cursor corresponds to the credential input field of the login interface.

10. The system of claim 8 , wherein the sign-on agent is executable to:

responsive to sending the keystroke to the login interface to insert the at least one character to the login interface, cause another image of the login interface to be captured; and

verify from the another image that the at least one character is positioned within the credential input field.

11. The system of claim 10 , wherein the sign-on agent is executable to, responsive to determining from the another image that the at least one character is not positioned within the credential input field, abort login to the application.

12. The system of claim 8 , wherein the sign-on agent is executable to:

automatically send a keystroke to the login interface to invoke a dialog window of the application;

cause an image of the dialog window to be captured; and

analyze the image of the dialog window to verify at least one aspect of the application.

13. The system of claim 8 , wherein the sign-on agent is executable to send the keystroke to the login interface to insert at least one character of a login credential to the credential input field.

14. The system of claim 8 , wherein the sign-on agent is executable to send the keystroke to the login interface to insert at least one test character to the credential input field, and wherein the sign-on agent is further executable to:

cause another image of the login interface to be captured;

determine from the another image whether a location of the test character in the login interface corresponds to the credential input field of the login interface;

responsive to determining that the location of the test character in the login interface corresponds to the credential input field of the login interface, automatically send a keystroke to the login interface to insert a cancelling character to undo the test character; and

automatically send a keystroke to the login interface to insert at least one character of a login credential to the login interface to insert the login credential to the login interface.

15. A computer program product for OCR-based single-sign-on in a computing environment, the computer program product comprising:

a non-transitory computer readable medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to:

responsive to launching a login interface of an application, automatically cause a display of a dialog screen of the application;

automatically capture an image of the dialog screen;

derive version information about the application from the image of the dialog screen;

automatically capture an image of the login interface; and

automatically verify that the launched login interface corresponds to a version of the application based on the version information derived from the image of the dialog screen; and

responsive to successfully verifying that the launched login interface corresponds to the version of the application derived from the image of the dialog screen, initiate a login procedure to the application.

16. The computer program product of claim 15 , wherein the computer readable program code is configured to:

determine a location of a cursor on the login interface from the image of the login interface;

determine whether the location of the cursor corresponds to a credential input field of the login interface; and

responsive to determining that the location of the cursor corresponds to the credential input field of the login interface, automatically send a keystroke to the login interface to insert at least one character to the login interface.

17. The computer program product of claim 16 , wherein the computer readable program code is configured to:

responsive to determining that the location of the cursor does not correspond to the credential input field, automatically send a keystroke to the login interface to move the cursor;

cause another image of the login interface to be captured; and

determine from the another image whether the moved location of the cursor corresponds to the credential input field of the login interface.

18. The computer program product of claim 16 , wherein the computer readable program code is configured to:

responsive to sending the keystroke to the login interface to insert the at least one character to the login interface, cause another image of the login interface to be captured; and

verify from the another image whether the at least one character is positioned within the credential input field.

19. The computer program product of claim 18 , wherein the computer readable program code is configured to, responsive to determining from the another image that the at least one character is not positioned within the credential input field, abort login to the application.

20. The computer program product of claim 16 , wherein the computer readable program code is configured to:

send the keystroke to the login interface to insert at least one test character to the credential input field;

cause another image of the login interface to be captured;

determine from the another image whether a location of the test character in the login interface corresponds to the credential input field of the login interface;

responsive to determining that the location of the test character in the login interface corresponds to the credential input field of the login interface, automatically send a keystroke to the login interface to insert a cancelling character to undo the test character; and

automatically send a keystroke to the login interface to insert at least one character of a login credential to the login interface to insert the login credential to the login interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2016
From: LOW, CHEE MENG; SESHAGIRI, NANDAGOPAL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040092/0200 →
Continuity (2)
Continuation 13851047 · Mar 26, 2013
Related Publication 20170039362A1 · Feb 9, 2017