IP Library Granted Patent US 8,904,510
Granted Patent B2
US 8,904,510 · App. 13/551,117 · Granted Dec 2, 2014

Authenticating a user for testing purposes

Inventor: Yan Yin Ho (Redmond, WA)
Assignee: Microsoft Corporation
H04L63/08H04L63/168
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 8,904,510
App. No.
13/551,117
Granted
Dec 2, 2014
Kind
B2
Abstract

Authenticating a user for testing purposes. A web server receives a request from a client that includes an authentication credential and that is formatted to be handled by a particular authentication module. The authentication module is configured to obtain authentication tokens based on authentication credentials included in requests, while refraining from generating any interactive authentication dialog. Based on the request, the web server passes at least a portion of the request, including the authentication credential, to the authentication module. The authentication module determines that the request is formatted in a manner that triggers the authentication module. The authentication module obtains an authentication token from an identity provider based on the authentication credential, while refraining from generating any interactive authentication dialog. The authentication module returns the authentication token to the web server. The web server returns the authentication token to the client.

Claims (42)

1. A computer-implemented method for authenticating a user of an automated testing tool when using the testing tool to test a web application at a web server, the computer implemented method comprising act of:

instantiating an automated testing tool for testing a web application at a web server;

registering at said web server a plurality of authentication modules, at least one of said authentication modules configured to obtain authentication tokens based on authenticating a request that includes formatting specific to said at least one authentication module;

receiving at said web server a request that i) includes an authentication credential of a user of said automated testing tool and ii) is formatted in a way specific to said at least one authentication module;

based on the request, the web server consulting said authentication modules registered at the web server until said at least one authentication module configured to obtain authentication tokens based on authenticating said request that is formatted in a way specific to said at least one authentication module is identified, and then passing at least a portion of said request, including the authentication credential, to the identified authentication module;

said identified authentication module authenticating said request based on said authentication credential and obtaining an authentication token without establishing any authentication dialogue with said user of the automated testing tool from which said request was sent; and

the web server returning the particular authentication token to said user of the automated testing tool to permit access to the web application for testing purposes.

2. The method as recited in claim 1 , wherein obtaining said authentication token is obtained from an identity provider based on sending said authentication credential to a directory service.

3. The method as recited in claim 1 , wherein said request is formatted to include a Uniform Resource Locator (URL) that includes one or more of a particular variable or a particular value in a query string.

4. The method as recited in claim 3 , wherein the URL includes said authentication credential.

5. The method as recited in claim 1 , wherein said request is formatted to include at least a portion of a cookie.

6. The method as recited in claim 5 , wherein the at least a portion of the cookie includes said authentication credential.

7. The method as recited in claim 1 , wherein said request is formatted to include a Hypertext Transport Protocol (HTTP) header.

8. The method as recited in claim 7 , wherein said HTTP header includes said authentication credential.

9. The method as recited in claim 1 , wherein consulting said authentication modules comprises searching for said at least one authentication module according to a priority order of the plurality of authentication modules registered at the web server.

10. The method as recited in claim 1 , wherein receiving the request at said web server comprises receiving the request from a web browser that is controlled by the automated testing tool.

11. The method as recited in claim 1 , wherein said authentication token identifies said authentication credential.

12. A computer program product comprising one or more computer storage devices containing computer-executable instructions which, when implemented by one or more processors, cause the one or more processors to implement a method for authenticating a user of an automated testing tool when using the testing tool to test a web application at a web server, the computer implemented method comprising acts of:

instantiating an automated testing tool for testing a web application at a web server;

registering at said web server a plurality of authentication modules, at least one of said authentication modules configured to obtain authentication tokens based on authenticating a request that includes formatting specific to said at least one authentication module;

receiving at said web server a request that i) includes an authentication credential of a user of said automated testing tool and ii) is formatted in a way specific to said at least one authentication module;

based on the request, the web server consulting said authentication modules registered at the web server until said at least one authentication module configured to obtain authentication tokens based on authenticating said request that is formatted in a way specific to said at least one authentication module is identified, and then passing at least a portion of said request, including the authentication credential, to the identified authentication module;

said identified authentication module authenticating said request based on said authentication credential and obtaining an authentication token without establishing any authentication dialogue with said user of the automated testing tool from which said request was sent; and

the web server returning the authentication token to said user of the automated testing tool to permit access to the web application for testing purposes.

13. The computer program product as recited in claim 12 , wherein the request includes at least a portion of a Uniform Resource Locator that includes said authentication credential.

14. The computer program product as recited in claim 12 , wherein the request includes at least a portion of a cookie that includes said authentication credential.

15. The computer program product as recited in claim 12 , wherein the request includes at least a portion of a Hypertext Transport Protocol header that includes said authentication credential.

16. The computer program product as recited in claim 12 , wherein obtaining said authentication token is obtained from an identity provider based on sending said authentication credential to a directory service.

17. The computer program product as recited in claim 12 , wherein obtaining said authentication token is obtained from an identity provider by comparing said authentication credential against a database.

18. The computer program product as recited in claim 12 , wherein receiving the request at said web server comprises receiving the request from a web browser that is controlled by the automated testing tool.

19. The computer program product as recited in claim 12 , wherein said authentication token identifies said authentication credential.

20. A computer system, comprising:

one or more processors;

system memory; and

one or more computer storage devices containing computer-executable instructions which, when implemented by one or more processors, cause the one or more processors to implement a method for authenticating a user of an automated testing tool when using the testing tool to test a web application at a web server, the computer implemented method comprising acts of:

instantiating an automated testing tool for testing a web application at a web server;

registering at said web server a plurality of authentication modules, at least one of said authentication modules configured to obtain authentication tokens based on authenticating a request that includes formatting specific to said at least one authentication module;

receiving at said web server a request that i) includes an authentication credential of a user of said automated testing tool and ii) is formatted in a way specific to said at least one authentication module;

based on the request, the web server consulting said authentication modules registered at the web server until said at least one authentication module configured to obtain authentication tokens based on authenticating said request that is formatted in a way specific to said at least one authentication module is identified, and then passing at least a portion of said request, including the authentication credential, to the identified authentication module;

said identified authentication module authenticating said request based on said authentication credential and obtaining an authentication token without establishing any authentication dialogue with said user of the automated testing tool from which said request was sent; and

the web server returning the authentication token to said user of the automated

testing tool to permit access to the web application for testing purposes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2012
From: HO, YAN YIN
To: MICROSOFT CORPORATION
Reel/Frame 028567/0908 →
Continuity (1)
Related Publication 20140026203A1 · Jan 23, 2014