# 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="/files/bmnuoH4htDfsdt8YXlJ0" 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](/get-started/product-guides/navigate-to-nuvoone/how-to-create-a-dapp.md)" 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](/get-started/product-guides/navigate-to-nuvoone/how-to-create-a-dapp.md)" 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 ](/developer-guide/api-list/oauth2-owner/user-apis/user-registration.md)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](/developer-guide/api-list/oauth2-authorization/badge-issuer/nft-badge-mint.md).

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](/get-started/demo-videos/nuvoone_web2-integrated-with-nuvo.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nuvosphere.io/developer-guide/integration-center.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
