---
# System prepended metadata

title: NEAR Login and your Website
tags: [nc-programs]

---

---
tags: nc-programs
title: NEAR Login and your Website
---

# NEAR Login and your Website

This document will help you to enable a login button on the NEAR platform on your website.
 
## Why this is Important

NEAR EDU tracks the performance of partner activities on chain using smart contracts.


## Technical Details

Note the following:
- the imported script loads `near-api-js` into your web page
- the `signIn()` and `signOut()` functions can be called from any page event
- the `config()` function can be customized for MainNet (current) or Testnet

You should set the value of `PARTNER_ACCOUNT` to the account we provided you during the onboarding process.  It will match the pattern `YOUR_COMPANY.edu-partner.near`


```htmlembedded=
<script src="https://cdn.jsdelivr.net/gh/nearprotocol/near-api-js/dist/near-api-js.js"></script>

<script>
  (async () => {

   const PARTNER_ACCOUNT = 'YOUR_COMPANY.edu-partner.near'
   const PARTNER_WEBSITE = 'Your Site Name'
    
   const { connect, keyStores, WalletConnection } = nearApi;

   const loginBtn = document.querySelector('#near-login')
   const logoutBtn = document.querySelector('#near-logout')

   loginBtn.addEventListener('click', signIn)
   logoutBtn.addEventListener('click', signOut)

   const near = await connect(config());
   const wallet = new WalletConnection(near);

   if(wallet.isSignedIn()) {
     const accountId = wallet.getAccountId();
     logoutBtn.innerHTML = `Logout ${accountId}`;
     hide(loginBtn);
     show(logoutBtn);
   }

   /*
   Helper functions
   */
   function signIn(){
     wallet.requestSignIn(
       PARTNER_ACCOUNT,
       PARTNER_WEBSITE
     );
   }

   function signOut(){
     wallet.signOut();
     logoutBtn.innerHTML = ``;
     hide(logoutBtn);
     show(loginBtn);
   }

   function config() {
     return ({
       networkId: 'mainnet',
       keyStore: new keyStores.BrowserLocalStorageKeyStore(),
       nodeUrl: 'https://rpc.mainnet.near.org',
       walletUrl: 'https://wallet.mainnet.near.org',
       helperUrl: 'https://helper.mainnet.near.org',
       explorerUrl: 'https://explorer.mainnet.near.org',
     });
   }

   function show(btn) {
     btn.classList.remove('hidden-button');
     btn.classList.add('visibile-button');
   }

   function hide(btn) {
     btn.classList.remove('visible-button');
     btn.classList.add('hidden-button');
   }
 })()
</script>
```