Package Torello.Browser
Class WebAuthn
- java.lang.Object
-
- Torello.Browser.WebAuthn
-
public class WebAuthn extends java.lang.Object
Class created byAutomatic Code-Generator
.
This class was built using the Chrome Remote Dev-Tools A.P.I., which is specified by two JSON-RPC Files. These files were obtained from the Chrome Dev Tools Protocol Git Hub Page, which has a "Tip of Tree" (the latest) API-Specification Page Here: JSON-RPC Protocol Specification.
JSON-Viewable Google-API:
These files may be viewed here: browser_protocol.json and js_protocol.json.
These files were converted into this Java-Browser (CDT) Library; they are a Java-Alternative to the Node.js implementation.
HTML-Viewable API:
In addition to this Class-Library, these files were also converted to a simple HTML Page, which may be browsed here: Browser API Web-PageNode.js
RDP-API Implementation:
You may read about theNode.js Chrome Remote Interface
on the Node.js Package Manager Web-Site: NPM
This domain allows configuring virtual authenticators to test the WebAuthn API.This class is intended to be used with a Headless Browser
These methods have been tested, to some degree, using Google Chrome. In order to use this class you must start a web-browser instance and make a connection to the browser using aRemote Debugging Port
. The initializations may be accomplished using classBRDPC
(Browser Remote Debug Protocol Connection).
Google-Chrome was used during the development process of the classes in this particular package. Note that, lately, it has been asserted Microsoft has switched to using the Chrome-Engine for its Microsoft Edge Browser Internal Code-Base. Therefore, there may limited support / functionality when running the methods in this class with Microsoft-Edge. There is the possibility these will work with Opera & Safari.
Check whether the your Web-Browser will allow itself to be driven by theWeb-Socket RDP-Port 9223
.
Foreign Function API:
Every one of the methods that reside in this class are designed to do nothing more than:- Accept Parameters from the User, and "Marshall Them" into a Valid JSON-Request
- Transmit the Marshalled Request-JSON to a Headless Web-Browser over a Web-Socket RDP Connection
- Receive BOTH that Method's Results AND any Browser Event-Firings from the Web-Socket
- Parse JSON Method-Results and Browser-Event Firings, and Subsequently Convert them to Standard Java-Types
- Report these Method-Results and Browser-Events to the User via an User-Registered Event-Listener or a Promise Object
Java-HTML Difference:
Unlike the bulk of the Java HTML JAR Library, there is very little native Java-Code, and very little testing that may be done on any of the classes & methods in this package. The code inside these classes does nothing more than marshall-and-unmarshall Java-Types into Json-Requests (and vice-versa). The Java-Script & Browser modules inside of a Google-Chrome instance are, theoretically, handling these requests, and returning their results (or events) over the Web-Socket Connection.
It has been asserted (by Google Chrome Developers) that some of these methods are only "partially working" or "experimental".
Hi-Lited Source-Code:- View Here: Torello/Browser/WebAuthn.java
- Open New Browser-Tab: Torello/Browser/WebAuthn.java
File Size: 41,196 Bytes Line Count: 968 '\n' Characters Found
Stateless Class:This class neither contains any program-state, nor can it be instantiated. The@StaticFunctional
Annotation may also be called 'The Spaghetti Report'.Static-Functional
classes are, essentially, C-Styled Files, without any constructors or non-static member fields. It is a concept very similar to the Java-Bean's@Stateless
Annotation.
- 1 Constructor(s), 1 declared private, zero-argument constructor
- 11 Method(s), 11 declared static
- 8 Field(s), 8 declared static, 7 declared final
- Fields excused from final modifier (with explanation):
Field 'counter' is not final. Reason: CONFIGURATION
-
-
Nested Class Summary
Type Classes: WebAuthn Domain Types Modifier and Type Inner-Class static class
WebAuthn.Credential
[No Description Provided by Google]
static class
WebAuthn.VirtualAuthenticatorOptions
[No Description Provided by Google]
-
Field Summary
WebAuthn Domain Enumerated String Types Modifier and Type Field static String[]
AuthenticatorProtocol
[No Description Provided by Google]
static String[]
AuthenticatorTransport
[No Description Provided by Google]
static String[]
Ctap2Version
[No Description Provided by Google]
-
Method Summary
WebAuthn Domain Commands Script Returns Modifier and Type Method NONE ( void
)static Script<>
addCredential(String authenticatorId, WebAuthn.Credential credential)
Adds the credential to the specified authenticator.String
static Script<>
addVirtualAuthenticator(WebAuthn.VirtualAuthenticatorOptions options)
Creates and adds a virtual authenticator.NONE ( void
)static Script<>
clearCredentials(String authenticatorId)
Clears all the credentials from the specified device.NONE ( void
)static Script<>
disable()
Disable the WebAuthn domain.NONE ( void
)static Script<>
enable()
Enable the WebAuthn domain and start intercepting credential storage and retrieval with a virtual authenticator.WebAuthn.Credential
static Script<>
getCredential(String authenticatorId, String credentialId)
Returns a single credential stored in the given virtual authenticator that matches the credential ID.WebAuthn.Credential[]
static Script<>
getCredentials(String authenticatorId)
Returns all the credentials stored in the given virtual authenticator.NONE ( void
)static Script<>
removeCredential(String authenticatorId, String credentialId)
Removes a credential from the authenticator.NONE ( void
)static Script<>
removeVirtualAuthenticator(String authenticatorId)
Removes the given authenticator.NONE ( void
)static Script<>
setAutomaticPresenceSimulation(String authenticatorId, boolean enabled)
Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator.NONE ( void
)static Script<>
setUserVerified(String authenticatorId, boolean isUserVerified)
Sets whether User Verification succeeds or fails for an authenticator.
-
-
-
Field Detail
-
AuthenticatorProtocol
public static final java.lang.String[] AuthenticatorProtocol
[No Description Provided by Google]
-
Ctap2Version
public static final java.lang.String[] Ctap2Version
[No Description Provided by Google]
-
AuthenticatorTransport
public static final java.lang.String[] AuthenticatorTransport
[No Description Provided by Google]
-
-
Method Detail
-
enable
public static Script<java.lang.String,JsonObject,Ret0> enable()
Enable the WebAuthn domain and start intercepting credential storage and retrieval with a virtual authenticator.- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
disable
public static Script<java.lang.String,JsonObject,Ret0> disable()
Disable the WebAuthn domain.- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
addVirtualAuthenticator
public static Script<java.lang.String,JsonObject,java.lang.String> addVirtualAuthenticator (WebAuthn.VirtualAuthenticatorOptions options)
Creates and adds a virtual authenticator.- Parameters:
options
- -- Returns:
- An instance of
Script
<String,JsonObject
, String>
This script may be executed, usingScript.exec()
, and afterwards, aPromise
<JsonObject, String>
will be returned.
Finally, thePromise
may be awaited, usingPromise.await()
, and the returned result of this Browser Function may may be retrieved.
This Browser Function returnsString (authenticatorId
)
-
-
removeVirtualAuthenticator
public static Script<java.lang.String,JsonObject,Ret0> removeVirtualAuthenticator (java.lang.String authenticatorId)
Removes the given authenticator.- Parameters:
authenticatorId
- -- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
addCredential
public static Script<java.lang.String,JsonObject,Ret0> addCredential (java.lang.String authenticatorId, WebAuthn.Credential credential)
Adds the credential to the specified authenticator.- Parameters:
authenticatorId
- -credential
- -- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
getCredential
public static Script<java.lang.String,JsonObject,WebAuthn.Credential> getCredential (java.lang.String authenticatorId, java.lang.String credentialId)
Returns a single credential stored in the given virtual authenticator that matches the credential ID.- Parameters:
authenticatorId
- -credentialId
- -- Returns:
- An instance of
Script
<String,JsonObject
,WebAuthn.Credential
>
This script may be executed, usingScript.exec()
, and afterwards, aPromise
<JsonObject,
will be returned.WebAuthn.Credential
>
Finally, thePromise
may be awaited, usingPromise.await()
, and the returned result of this Browser Function may may be retrieved.
This Browser Function returns
)WebAuthn.Credential
(credential
-
-
getCredentials
public static Script<java.lang.String,JsonObject,WebAuthn.Credential[]> getCredentials (java.lang.String authenticatorId)
Returns all the credentials stored in the given virtual authenticator.- Parameters:
authenticatorId
- -- Returns:
- An instance of
Script
<String,JsonObject
,WebAuthn.Credential
[]>
This script may be executed, usingScript.exec()
, and afterwards, aPromise
<JsonObject,
will be returned.WebAuthn.Credential
[]>
Finally, thePromise
may be awaited, usingPromise.await()
, and the returned result of this Browser Function may may be retrieved.
This Browser Function returns
)WebAuthn.Credential
[] (credentials
-
-
removeCredential
public static Script<java.lang.String,JsonObject,Ret0> removeCredential (java.lang.String authenticatorId, java.lang.String credentialId)
Removes a credential from the authenticator.- Parameters:
authenticatorId
- -credentialId
- -- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
clearCredentials
public static Script<java.lang.String,JsonObject,Ret0> clearCredentials (java.lang.String authenticatorId)
Clears all the credentials from the specified device.- Parameters:
authenticatorId
- -- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
setUserVerified
public static Script<java.lang.String,JsonObject,Ret0> setUserVerified (java.lang.String authenticatorId, boolean isUserVerified)
Sets whether User Verification succeeds or fails for an authenticator. The default is true.- Parameters:
authenticatorId
- -isUserVerified
- -- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
setAutomaticPresenceSimulation
public static Script<java.lang.String,JsonObject,Ret0> setAutomaticPresenceSimulation (java.lang.String authenticatorId, boolean enabled)
Sets whether tests of user presence will succeed immediately (if true) or fail to resolve (if false) for an authenticator. The default is true.- Parameters:
authenticatorId
- -enabled
- -- Returns:
- An instance of
Script
<String,JsonObject
,Ret0
>
ThisScript
instance must be executed before the browser receives the invocation-request.
This Browser-Function does not have a return-value. You may choose to await thePromise
<JsonObject,
Ret0
>
to ensure the Browser Function has run to completion.
-
-