UserInfo

Members

response : any

The OpenID userinfo endpoint response that this object was created with.

Methods

constructor(response)

Create an object that contains user information

const response = await fetch(/* arguments to fetch the OpenID userinfo endpoint */)
        .then(data => data.json())
const userInfo = new UserInfo(response)

// ... or

const userInfo = user.info()

This probably shouldn't get called directly, use User.info() instead.

See User for more information.

See BaseAuth for more information.

id()

Get an unique identifier about the user.

This is the same as sub(), it exists for readability.

This function requires the openid scope.

const identifier = userInfo.id()

sub()

Get an unique identifier about the user.

This is the same as id(), it exists for readability.

This function requires the openid scope.

const identifier = userInfo.sub()

firstName()

Get the user's first name.

This function requires the profile scope.

const firstName = userInfo.firstName()

lastName()

Get the user's last name.

This function requires the profile scope.

const lastName = userInfo.lastName()

birthDate()

Get the user's birth date.

This function requires the profile scope.

const birthDate = userInfo.birthDate()
// birthDate is a JavaScript Date object

nationalId()

Get the user's unique national identifier (for example their SSN in the US).

This function requires the private scope.

const nationalId = userInfo.nationalId()

trustLevel()

Get the user's Vulos Identity trust level.

  • 1 indicates that the user has done no KYC verification but has provided basic details.

  • 2 indicates that the user has successfully KYC verification.

  • Anything other than that indicates that the user has done some action to reduce or increase their trust level that hasn't been specified in this document.

This function requires the public scope.

if (userInfo.trustLevel() >= 2) {
    // allow the user to preform some action limited
    // to users that have confirmed their identity
}

isEmailVerified()

Get the user's email verification status.

This function requires the email scope.

if (userInfo.isEmailVerified()) {
    // allow the user to use that email for some action
}

isKycVerified()

Get the user's KYC verification status.

This function requires the public scope.

if (userInfo.isKycVerified()) {
    // allow the user to do some action that requires
    // KYC verification or a confirmed identity
}

address()

Get the user's address.

This function requires the address scope.

const addressObj = userInfo.address()

email()

Get the user's email address.

This function requires the email scope.

const email = userInfo.email()

hasRole(role)

Check if the user has a specific role in the associated organization to the application.

This function requires the organization:roles scope.

if (userInfo.hasRole('SuperAdmin')) {
    // allow the user to have elevated access
}

isInOrganizationWithName(name)

Check if the user is in a specific organization by name.

This function requires the organization:read scope.

if (userInfo.isInOrganizationWithName('My Organization')) {
    // the user is in an organization with name 'My Organization'
}

It is recommended to use isInOrganizationWithId() instead.

isInOrganizationWithId(id)

Check if the user is in a specific organization by id.

You can obtain the organization ID using the Organization API or by checking the URL of the organization's page on the Vulos Identity dashboard.

This function requires the organization:read scope.

const organizationId = 100;
if (userInfo.isInOrganizationWithId(organizationId)) {
    // the user is in the organization with ID 100
}

wallets()

Get the user's Ethereum wallet addresses.

This function requires the wallet scope.

for (const walletAddress of userInfo.wallets()) {
    // do something with the wallet address
}

picture()

Get the user's profile picture.

This function requires the profile scope.

const profilePictureUrl = userInfo.picture()

Last updated