Integration Center

This guidance is dedicated to integration of Nuvo into existing business/systems.

Assuming a website owner would like to seamlessly integrate all existing users onto Nuvo. We describe here a step-by-step tutorial of the process.

Third-party login basic integration flow

The overall process is described in Fig. 1.

Website owner create Nuvo account and a new dApp

We refer user to "How to create a dapp section" section on step-by-step guide on creating a dapp.

Website owner accquire appid and API Key

Please see the instruction on "How to create a dapp section" to access appid and API key. Fig. 2 shows a screenshot of the credentials tab to access API keys.

Website use Nuvo's thrid-party Login/CreateUser API to acquire Nuvo user token

Nuvo provide a convenient register user API endpoint for a website owner to seamlessly register a new user using one of email/mobile/eth_address. This process can be run in the background without users feeling the overhead of going through the registration process. If a user is already registered, Nuvo api will return the user access token. If a user is not registered already, Nuvo will register that user and return the user access token. In either case, website owner can now use user access token to access Nuvo user functionality such as mint badge for user.

The following sample code demonstrates sample code of acquiring access code for a user.

// Get user Nuvo access token for existing user and register new user
const result = await axios.post('https://me.nuvosphere.io/api/v1/oauth2-app/register_user', {
    'username': 'xxxxxx',
  }, {
    headers: {
      'appid': 'xxxxxxx',
      'appkey': 'xxxxxx'
    }
  })
const accessToken = result.accessToken

The following sample code demostrates sample code of using acquired access code to mint a badge for a user.

// Mint NFT badge for user using access token
result = await axios.post('https://me.nuvosphere.io/api/v1/oauth2/nft/owner_mint', {
    'contract_address': 'xxxxxx',
    'eth_address': 'xxxxxx',
  }, {
    headers: {
      'Access-Token': 'xxxxxxx',
    }
  })

Alternative user login integration (OAuth) flow

Please note that there are multiple ways of integration with Nuvo, such as using standard OAuth login flow. The drawback of this approach however is a few additional steps users need to go through and therefore a slightly less prefered user experience. An excellent video demostrating this approach can be found here.

Last updated