Skip to main content

Using Single Factor Auth Android SDK

After successfully installing and initializing SingleFactorAuth, you can use it to authenticate your users and obtain their private and public keys.

NOTE

Web3Auth SFA Android SDK only works for users who have not enabled MFA. For MFA enabled users, you'll see an Error message.

The SingleFactorAuth instance natively provides the following methods:

  • connect - Use to login user and retrive private key pair.
  • logout - Use to logout existing user.
  • connected - Use to check whether the user is logged in or not.
  • getSessionData - This method helps to get the session data for valid session.

Login User

To obtain a user's private key, and relevant session data using the Web3Auth SFA Android SDK, you can call the connect method. The method accepts LoginParams, and returns SessionData.

Please checkout the SessionData for more details.

Parameters

ParameterDescription
verifierThe verifier obtained from the Web3Auth Dashboard. It's a mandatory field and takes String as a value.
verifierIdThe verifierId used for the verification. It takes String as a value.
idTokenThe idToken of the user obtained from the login provider. It takes String as a value.
subVerifierInfoArray?Sub verifier info. Usually used during the aggregate verifier. It takes Array<TorusSubVerifierInfo> as a value.

Usage

import com.web3auth.singlefactorauth.types.SessionData
import com.web3auth.singlefactorauth.types.LoginParams
import android.content.Context

val loginParams = LoginParams(
"YOUR_VERIFIER_NAME",
"YOUR_VERIFIER_ID_VALUE",
"YOUR_ID_TOKEN"
);

val context: Context = "YOUR_APPLICATION_CONTEXT"

val sessionData: SessionData = singleFactorAuth.connect(loginParams, context);

Logout User

To logout the current user, you can use the logout method. Please note, the method will not logout the user from the authentication provider, it'll only logout and invalidate the Web3Auth session.

Usage

import android.content.Context
val context: Context = "YOUR_APPLICATION_CONTEXT"

singleFactorAuth.logout()

Check User's Logged In Status

You can use the connected method to check whether the user is logged in Web3Auth or not. Please note, you should call this method after the initialize method if you want to check the user's connection status for an existing session.

Usage

val isConnected = singleFactorAuth.connected()

Get Session Data

We have included Session Management in this SDK, so calling the getSessionData will retrive the user's SessionData without re-logging in the user if a user has an active session. Otherwise, it will return null.

Please note, you should use this method after the initialize method.

Usage

val sessionData = singleFactorAuth.getSessionData()

if(sessionData != null) {
// User is logged in
} else {
// User is not logged in
}

Response

The SessionData has the following properties to retrive the relevant session information.

NameDescription
privateKeyRetrieves the user's private key.
publicAddressRetrieves the user's public address.
userInfo?Retrieves the user's information like email, name, verifier id, and more.
signatures?Retrieves the node's signatures that are returned for request.