# US 11,909,729 B2 · Auto-form fill based website authentication

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,909,729 B2
- Document ID: US11909729B2
- Status: Granted
- Kind: B2
- Application number: 17/049,126
- Filed: 2018-04-26
- Published: 2021-08-05
- Granted: 2024-02-20
- Earliest claimed: 2018-04-26
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Clifton Kaznocha; Erik Gustavson; Scott Kriz
- Web page: https://patentgrep.com/patent/US11909729B2

## CPC

- G06F 21/31: User authentication
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- H04L 63/0815: {providing single-sign-on or federations}
- H04W 12/068: {using credential vaults, e.g. password manager applications or one time password [OTP] applications}
- G06F 2221/2115: Third party
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A method (400) for a website authentication is provided. The method includes receiving a reference uniform resource locator (URL) (130) at a browser (120) and determining whether the reference URL adheres to an authentication protocol (202) including a credential identifier (132c) and a web authentication host URL (132a). When the reference URL adheres to the authentication protocol, the method also includes extracting the credential identifier and the web authentication host URL from the reference URL. The method further includes obtaining credential data (160) from a remote service (150) using the credential identifier and sending web authentication instructions (170) to the browser. The web authentication instructions include the web authentication host URL and the credential data.

## Claims

### Claim 1

A method for providing website authentication, the method comprising:
receiving, at data processing hardware, a reference uniform resource locator (URL) at a browser, the reference URL comprising a credential identifier and a web authentication host URL, the credential identifier identifying credential data;
determining, by the data processing hardware, that the reference URL adheres to an authentication protocol based on the credential identifier and the web authentication host URL; and
based on determining that the reference URL adheres to the authentication protocol:
extracting, by the data processing hardware, the credential identifier and the web authentication host URL from the reference URL;
obtaining, by the data processing hardware, credential data from a remote service using the credential identifier; and
sending web authentication instructions to the browser, the web authentication instructions comprising:
the web authentication host URL; and
the credential data.

### Claim 2 (depends on 1)

The method of claim 1, wherein the reference URL adheres to either the authentication protocol or a Hypertext Transfer Protocol.

### Claim 3 (depends on 1)

The method of claim 1, wherein the credential data comprises a username and a password.

### Claim 4 (depends on 1)

The method of claim 1, wherein the authentication protocol comprises a user identifier.

### Claim 5 (depends on 4)

The method of claim 4, wherein the user identifier and the credential identifier comprise object identifiers, the object identifiers configured to publically obfuscate an identity of a user associated with the user identifier and a credential associated with the credential identifier.

### Claim 6 (depends on 1)

The method of claim 1, wherein the authentication protocol comprises a user identifier combined with the credential identifier as a single identifier.

### Claim 7 (depends on 1)

The method of claim 1, wherein the web authentication instructions configure the browser to auto-populate a login form at the web authentication host URL using the credential data based on the web authentication instructions.

### Claim 8 (depends on 1)

The method of claim 1, wherein the web authentication instructions further comprise a login URL and configure the browser to:
execute the login URL, the login URL navigating to a login page associated with the web authentication host URL;
determine login fields by parsing a document object model of the login page;
populate the login fields using the credential data based on the web authentication instructions; and
redirect the browser to the web authentication host URL.

### Claim 9 (depends on 1)

The method of claim 1, wherein the authentication protocol further comprises a custom protocol identifier.

### Claim 10 (depends on 1)

The method of claim 1, wherein the authentication protocol comprises a format of web+credential://{Credential ID}@{Web Host}.

### Claim 11

A method for providing website authentication, the method comprising:
receiving, at data processing hardware, references to web resources, a first reference comprising a credential identifier and a web host identifier, the first reference having a first protocol formatting, the remaining references having a second protocol formatting;
identifying, by the data processing hardware, the first reference as having the first protocol formatting based on the credential identifier and the web host identifier; and
executing, by the data processing hardware, an automated website login routine using the first reference,
wherein the automated website login routine is configured to:
extract the credential identifier and the web host identifier from the first reference;
obtain, using the credential identifier, credential data corresponding to the credential identifier, the credential data comprising a user credential;
obtain a uniform resource locator for a login page corresponding to the web host identifier; and
automatically log into the login page corresponding to the web host identifier using the user credential.

### Claim 12 (depends on 11)

The method of claim 11, wherein automatically logging into the login page comprises:
parsing a document object model of the login page to identify a username field and a password field;
inserting a user name of the user credential into the username field; and
inserting a password of the user credential into the password field.

### Claim 13 (depends on 11)

The method of claim 11, wherein the first protocol formatting comprises: web+credential://{User OID}:{Credential OID}@{Web App Host}/.

### Claim 14 (depends on 11)

The method of claim 11, further comprising:
receiving, at the data processing hardware, a format of web+credential://{Web App Host}/ as the first reference; and
identifying, by the data processing hardware, the format of web+credential://{Web App Host}/ as an incomplete first protocol formatting,
wherein the automated website login routine is configured to:
extract the web host identifier from the first reference;
obtain the uniform resource locator for the login page corresponding to the web host identifier; and
display the login page corresponding to the web host identifier in response to the received references comprising the format of web+credential://{Web App Host}/ as the first reference.

### Claim 15 (depends on 11)

The method of claim 11, wherein the first protocol formatting comprises a custom protocol identifier.

### Claim 16 (depends on 11)

The method of claim 11, wherein the credential identifier comprises a user identifier.

### Claim 17 (depends on 11)

The method of claim 11, further comprising redirecting, by the data processing hardware, to the web resources of the received references.

### Claim 18 (depends on 11)

The method of claim 11, wherein the credential identifier comprises an object identifier, the object identifier configured to publically obfuscate an identity of a user associated with the credential identifier.

### Claim 19 (depends on 11)

The method of claim 11, wherein the user credential comprises a username and a password.

### Claim 20

A system for providing website authentication, the system comprising:
data processing hardware; and
memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed by the data processing hardware cause the data processing hardware to perform operations comprising:
receiving a reference uniform resource locator (URL) at a browser, the reference URL comprising a credential identifier and a web authentication host URL, the credential identifier identifying credential data;
determining that the reference URL adheres to an authentication protocol based on the credential identifier and the web authentication host URL; and
based on determining that the reference URL adheres to the authentication protocol:
extracting, by the data processing hardware, the credential identifier and the web authentication host URL from the reference URL;
extracting the credential identifier and the web authentication host URL from the reference URL;
obtaining credential data from a remote service using the credential identifier; and
sending web authentication instructions to the browser, the web authentication instructions comprising:
the web authentication host URL; and
the credential data.

### Claim 21 (depends on 20)

The system of claim 20, wherein the reference URL adheres to either the authentication protocol or a Hypertext Transfer Protocol.

### Claim 22 (depends on 20)

The system of claim 20, wherein the credential data comprises a username and a password.

### Claim 23 (depends on 20)

The system of claim 20, wherein the authentication protocol comprises a user identifier.

### Claim 24 (depends on 23)

The system of claim 23, wherein the user identifier and the credential identifier comprise object identifiers, the object identifiers configured to publically obfuscate an identity of a user associated with the user identifier and a credential associated with the credential identifier.

### Claim 25 (depends on 20)

The system of claim 20, wherein the authentication protocol comprises a user identifier combined with the credential identifier as a single identifier.

### Claim 26 (depends on 20)

The system of claim 20, wherein the web authentication instructions configure the browser to auto-populate a login form at the web authentication host URL using the credential data based on the web authentication instructions.

### Claim 27 (depends on 20)

The system of claim 20, wherein the web authentication instructions further comprise a login URL and configure the browser to:
execute the login URL, the login URL navigating to a login page associated with the web authentication host URL;
determine login fields by parsing a document object model of the login page;
populate the login fields using the credential data based on the web authentication instructions; and
redirect the browser to the web authentication host URL.

### Claim 28 (depends on 20)

The system of claim 20, wherein the authentication protocol further comprises a custom protocol identifier.

### Claim 29 (depends on 20)

The system of claim 20, wherein the authentication protocol comprises a format of web+credential://{Credential ID}@{Web Host}.

### Claim 30

A system for providing website authentication, the system comprising:
data processing hardware; and
memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed by the data processing hardware cause the data processing hardware to perform operations comprising:
receiving references to web resources, a first reference comprising a credential identifier and a web host identifier, the first reference having a first protocol formatting, the remaining references having a second protocol formatting;
identifying the first reference as having the first protocol formatting based on the credential identifier and the web host identifier; and
executing an automated website login routine using the first reference,
wherein the automated website login routine is configured to:
extract the credential identifier and the web host identifier from the first reference;
obtain, using the credential identifier, credential data corresponding to the credential identifier, the credential data comprising a user credential;
obtain a uniform resource locator for a login page corresponding to the web host identifier; and
automatically log into the login page corresponding to the web host identifier using the user credential.

### Claim 31 (depends on 30)

The system of claim 30, wherein automatically logging into the login page comprises:
parsing a document object model of the login page to identify a username field and a password field;
inserting a user name of the user credential into the username field; and
inserting a password of the user credential into the password field.

### Claim 32 (depends on 30)

The system of claim 30, wherein the first protocol formatting comprises: web+credential://{User OID}:{Credential OID}@{Web App Host}/.

### Claim 33 (depends on 30)

The system of claim 30, wherein the operations further comprise:
receiving a format of web+credential://{Web App Host}/ as the first reference; and
identifying the format of web+credential://{Web App Host}/ as an incomplete first protocol formatting,
wherein the automated website login routine is configured to:
extract the web host identifier from the first reference;
obtain the uniform resource locator for the login page corresponding to the web host identifier; and
display the login page corresponding to the web host identifier in response to the received references comprising the format of web+credential://{Web App Host}/ as the first reference.

### Claim 34 (depends on 30)

The system of claim 30, wherein the first protocol formatting comprises a custom protocol identifier.

### Claim 35 (depends on 30)

The system of claim 30, wherein the credential identifier comprises a user identifier.

### Claim 36 (depends on 30)

The system of claim 30, wherein the operations further comprise redirecting to the web resources of the received references.

### Claim 37 (depends on 30)

The system of claim 30, wherein the credential identifier comprises an object identifier, the object identifier configured to publically obfuscate an identity of a user associated with the credential identifier.

### Claim 38 (depends on 30)

The system of claim 30, wherein the user credential comprises a username and a password.
