User authentication across multiple network stacks
AssigneeMicrosoft Corporation
InventorsBalaji Balasubramanyan, Miko Arnab Sakhya Singha Bose
Life of this patent
Estimating the term…
Abstract
A computing device provides an application that uses multiple protocol stacks to communicate with a server. The server requires messages from each of the protocol stacks to include a credential for a user of the computing device. The credential is a set of information that includes identification and proof of identities that is used to gain access to a resource. However, the user is not prompted for the credential more than once. In some embodiments, this is accomplished by storing the credential at the computing device for retrieval by the protocol stacks when the application uses the protocol stacks to communicate with the server.
Claims20
A method comprising:
- providing a computing device;
- and
- providing, by the computing device, an application that uses multiple protocol stacks to communicate with a server that requires messages from each of the multiple protocol stacks to include a credential for a user, without prompting the user for the credential more than once, wherein each of the multiple protocol stacks performs a number of actions when the application uses the multiple protocol stacks to communicate with the server including:
- determining whether the credential is stored at the computing device;
- and
- providing the credential to the server without prompting the user for the credential when the credential is stored at the computing device;
- and
- performing a number of actions when the credential is not stored at the computing device including:
- communicating with the server to determine a type of credential required;
- prompting the user for the credential;
- receiving the credential from the user;
- storing the credential at the computing device in a manner that enables the credential to be identified based on a name of the server;
- and
- providing the credential to the server.
A computing device comprising:
- a processing system;
- and
- a data storage system that stores computer-readable instructions that, when executed, cause the computing device to provide an application that uses multiple protocol stacks to communicate with a server that requires messages from each of the multiple protocol stacks to include a credential for a user of the computing device, the user not being prompted for the credential more than once, wherein each of the multiple protocol stacks performs a number of actions when the application uses the multiple protocol stacks to communicate with the server, the number of actions operable to:
- determine whether the credential is stored at the computing device;
- provide the credential to the server without prompting the user for the credential when the credential is stored at the computing device;
- and
- perform the following actions when the credential is not stored at the computing device:
- communicate with the server to determine a type of credential required by the server;
- after determining the type of credential required by the server, prompt the user for a credential of the type required by the server;
- receive the credential from the user;
- store the credential of the required type at the computing device in a manner that enables the credential to be identified based on a name of the server;
- and
- provide the credential to the server.
A computer-readable storage device which stores computer-readable instructions that, when executed by a computing device, cause the computing device to:
- provide multiple protocol stacks;
- provide an application that uses the multiple protocol stacks to communicate with a server that requires messages from each of the multiple protocol stacks to include a credential for a user of the computing device,
- wherein each of the multiple protocol stacks performs the following actions when the application uses the multiple protocol stacks to communicate with the server:
- determine whether the credential is stored at the computing device;
- and
- provide the credential to the server without prompting the user for the credential when the credential is stored at the computing device;
- and
- perform the following actions when the credential is not stored at the computing device:
- communicate with the server to determine a type of credential required by the server;
- prompt the user for the credential when the credential is not stored at the computing device;
- receive the credential from the user;
- store the credential at the computing device in a manner that enables the credential to be identified based on a name of the server;
- and
- provide the credential to the server.
Dependencies are inferred from the claim text.