# Integration Center

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.&#x20;

**Third-party login basic integration flow**

The overall process is described in Fig. 1.&#x20;

<figure><img src="https://3056925578-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FujuHu0FHOkZo4b2vjncX%2Fuploads%2FejLKvx1WId4ou3kf1uLm%2FScreenshot%202023-07-04%20at%203.23.55%20PM.png?alt=media&#x26;token=6650c61c-67da-49ad-98ca-fe72bf5d9010" alt=""><figcaption><p>Fig. 1</p></figcaption></figure>

**Website owner create Nuvo account and a new dApp**

We refer user to "[How to create a dapp section](https://docs.nuvosphere.io/get-started/product-guides/navigate-to-nuvoone/how-to-create-a-dapp)" 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](https://docs.nuvosphere.io/get-started/product-guides/navigate-to-nuvoone/how-to-create-a-dapp)" to access appid and API key. Fig. 2 shows a screenshot of the credentials tab to access API keys.

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FujuHu0FHOkZo4b2vjncX%2Fuploads%2FGFaXeeu342vfV97BuZL5%2Fimage.png?alt=media&#x26;token=185c90b5-8632-466c-995d-68be5625e0d1" alt=""><figcaption><p>Fig. 2</p></figcaption></figure>

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

Nuvo provide a convenient [register user API endpoint ](https://docs.nuvosphere.io/developer-guide/api-list/oauth2-owner/user-apis/user-registration)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](https://docs.nuvosphere.io/developer-guide/api-list/oauth2-authorization/badge-issuer/nft-badge-mint).

The following sample code demonstrates sample code of acquiring access code for a user.&#x20;

```javascript
// 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.

```javascript
// 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](https://docs.nuvosphere.io/get-started/demo-videos/nuvoone_web2-integrated-with-nuvo).
