Checks whether the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.
Input that could potentially be handled.
A promise resolving if the input can be handled, rejecting with an Error if not.
Handles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.
Input that needs to be handled.
A promise resolving when handling is finished.
Helper function that first runs canHandle followed by handle. Throws the error of canHandle if the data cannot be handled, or returns the result of handle otherwise.
Input data that will be handled if it can be handled.
A promise resolving if the input can be handled, rejecting with an Error if not.
Allows users to choose which WebID they want to authenticate as during an OIDC interaction.
One of the main reason picking a WebID is a separate class/request from consenting to the OIDC interaction, is because the OIDC-provider will only give the information we need for consent once we have added an accountId to the OIDC interaction, which we do in this class. The library also really wants to use that accountId as the value that you use for generating the tokens, meaning we can't just use another value there, so we need to assign the WebID to it, unless we use a hacky workaround.