User Profile

TerraCore v0

Our system provides user profile with basic information (id, email, phone, avatar...). After logging in you can use it for handling personalized logic.

Get user profile#

TerraAuth.getInstance(terraApp).getUser { user: User? ->
if (user != null) {
// handle user profile here
} else {
// get profile failed
}
}

Update user phone#

Firstly request to send OTP to user's phone

TerraAuth.getInstance(terraApp).verifyPhone(phone) { result: Result<Unit, Throwable> ->
if (result.isSuccess()) {
// OTP is sent to user, show OTP form for user to input
} else {
// get profile failed
}
}

Then confirm the OTP to update user phone to user profile

TerraAuth.getInstance(terraApp).confirmPhone(phone, otp) { result: Result<Unit, Throwable> ->
if (result.isSuccess()) {
// phone is updated successfully
} else {
// phone update failed
}
}

Update user email#

Firstly request to send verify code to user's email

TerraAuth.getInstance(terraApp).verifyEmail(email) { result: Result<Unit, Throwable> ->
if (result.isSuccess()) {
// OTP is sent to user, show verify code form for user to input
} else {
// get profile failed
}
}

Then confirm the verify code to update user email to user profile

TerraAuth.getInstance(terraApp).confirmEmail(email, code) { result: Result<Unit, Throwable> ->
if (result.isSuccess()) {
// phone is updated successfully
} else {
// phone update failed
}
}

References#