UAuth Web3-React Library
The @uauth/web3-react
library is a middleware library used for integrating UAuth with web3-react applications.
UAuthConnector
The UAuthConnector
class is the default export of the @uauth/web3-react
library.
constructor
class UAuthConnector extends Connector {
constructor({ actions, options, onError }: UAuthConnectorConstructorArgs) {}
}
const uauthConnector = new UAuthConnector(args);
registerUAuth()
Assigns pkg to UAuthConnector.UAuth
.
static registerUAuth(pkg: typeof UAuth): void
importUAuth()
Dynamically imports UAuth and assigns it to UAuthConnector.UAuth
.
public static async importUAuth(): Promise<void>
callbackAndActivate()
Calls the loginCallback() method of this.uauth and activates the connector using the activate argument.
async callbackAndActivate<T>(
options: ConnectorLoginCallbackOptions,
): Promise<void>
uauth
Returns the local UAuth instance.
public get uauth(): UAuth
subConnector
Returns the connector used internally to connect to web3-react
.
public get subConnector(): Connector & {
isAuthorized?(): Promise<boolean>
}
UAuthConnectors
interface UAuthConnectors {
injected: Connector;
walletconnect: Connector;
}
UAuthConnectorConstructorArgs
The arguments object passed to the UAuthConnector constructor.
interface UAuthConnectorConstructorArgs {
actions: Actions;
options: UAuthConstructorOptions & {
uauth?: UAuth;
connectors: UAuthConnectors;
shouldLoginWithRedirect?: boolean;
};
onError?: (error: Error) => void;
}
options.shouldLoginWithRedirect
If shouldLoginWithRedirect
is set to true
, the uauthConnector instance will use the login() method instead of the default, loginWithPopup().
Then you must set up a callback page for the authorization server to redirect back to.
import { uauth } from "./connectors";
// On page load...
const { activate } = useWeb3React();
useEffect(() => {
uauth
.callbackAndActivate({ activate })
.then(() => {
// Redirect to success page
})
.catch((error) => {
// Redirect to failure page
});
}, []);
ConnectorLoginCallbackOptions
interface ConnectorLoginCallbackOptions {
url?: string;
activate: (
connector: Connector,
onError?: (error: Error) => void,
throwErrors?: boolean
) => Promise<void>;
onError?: (error: Error) => void;
throwErrors?: boolean;
}