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
}