---
title: எத்திரியத்தில் அங்கீகாரம்
description: எத்திரியம் செயலிகளில் பயனர் அங்கீகாரம் எவ்வாறு செயல்படுகிறது என்பதை அறிக—கடவுச்சொற்கள் இல்லை, பணப்பைகள் மற்றும் கையொப்பங்கள் மட்டுமே.
lang: ta
---

நீங்கள் பாரம்பரிய வலை மேம்பாட்டிலிருந்து வருகிறீர்கள் என்றால், பயனர் பெயர்/கடவுச்சொல் உள்நுழைவு, OAuth ஓட்டங்கள் மற்றும் அமர்வு குக்கீகளைப் பயன்படுத்தியிருப்பீர்கள். எத்திரியத்தில் அங்கீகாரம் வித்தியாசமாக செயல்படுகிறது—மேலும் பல வழிகளில், மிகவும் எளிமையாக.

எத்திரியத்தில், ஒரு பயனர் **தங்கள் பணப்பையுடன் ஒரு செய்தியில் கையொப்பமிடுவதன்** மூலம் தங்கள் அடையாளத்தை நிரூபிக்கிறார். சேமிக்க கடவுச்சொல் இல்லை. கசியவிட நற்சான்றிதழ்களின் தரவுத்தளம் இல்லை. குறியாக்கவியல் மட்டுமே.

## இது வெப்2 இலிருந்து எவ்வாறு வேறுபடுகிறது? {#how-is-it-different}

| வெப்2 | எத்திரியம் |
| --------------------------------- | ------------------------------------------------ |
| பயனர் பெயர் + கடவுச்சொல் | பணப்பை முகவரி + கையொப்பம் |
| சேவையகம் நற்சான்றிதழ்களைச் சேமிக்கிறது | பயனர் தனிப்பட்ட திறவுகோலை வைத்திருக்கிறார் |
| அமர்வுகள் குக்கீகள் / JWT மூலம் நிர்வகிக்கப்படுகின்றன | அமர்வுகள் புறச்சங்கிலி பணப்பை கையொப்பத்துடன் தொடங்குகின்றன |
| "Google உடன் உள்நுழைக" | "எத்திரியத்துடன் உள்நுழைக" |
| கடவுச்சொல் மீட்டமைப்பு ஓட்டங்கள் | விதைச் சொற்றொடர் மீட்பு |

அடிப்படை மாற்றம்: வெப்2 இல், ஒரு மையப்படுத்தப்பட்ட சேவையகம் உங்களை அங்கீகரிக்கிறது. எத்திரியத்தில், ஒரு குறிப்பிட்ட முகவரியை நீங்கள் கட்டுப்படுத்துகிறீர்கள் என்பதை நிரூபிப்பதன் மூலம் **உங்களை நீங்களே அங்கீகரிக்கிறீர்கள்**—மேலும் எவரும் அதைச் சுயாதீனமாகச் சரிபார்க்கலாம்.

## முன்நிபந்தனைகள் {#prerequisites}

நீங்கள் புரிந்துகொண்டிருப்பதை உறுதிசெய்யவும்:

- [எத்திரியம் கணக்குகள் மற்றும் அவை எவ்வாறு செயல்படுகின்றன](/developers/docs/accounts/)
- [பணப்பை என்றால் என்ன, அதை எவ்வாறு இணைப்பது](/wallets/)
- [பொது-தனிப்பட்ட திறவுகோல் குறியாக்கவியல் அடிப்படைகள்](/developers/docs/accounts/#externally-owned-accounts-and-key-pairs)

## பணப்பை அடிப்படையிலான அங்கீகாரம் எவ்வாறு செயல்படுகிறது {#how-wallet-auth-works}

முக்கிய ஓட்டம் எளிமையானது:

1. **உங்கள் பரவலாக்கப்பட்ட செயலி (dapp) பயனரைத் தங்கள் பணப்பையை இணைக்கக் கேட்கிறது** (மெட்டாமேஸ்க், Rainbow, WalletConnect போன்றவற்றின் மூலம்)
2. **பணப்பை பயனரின் எத்திரியம் முகவரியைப் பகிர்கிறது** - இது அவர்களின் பொது அடையாளங்காட்டி
3. **உங்கள் dapp ஒரு தனித்துவமான செய்தியை உருவாக்குகிறது** (ஒரு நான்ஸ் அல்லது சவால்)
4. **பயனர் செய்தியில் கையொப்பமிடுகிறார்** அவர்களின் தனிப்பட்ட திறவுகோலுடன் (பணப்பையின் உள்ளே நடக்கிறது)
5. **உங்கள் பின்தளம் கையொப்பத்தைச் சரிபார்க்கிறது** கோரப்பட்ட முகவரிக்கு எதிராக
6. **செல்லுபடியானால், பயனர் அங்கீகரிக்கப்படுகிறார்**

எந்தக் கடவுச்சொல்லும் தட்டச்சு செய்யப்படவில்லை, சேமிக்கப்படவில்லை அல்லது அனுப்பப்படவில்லை.

## எத்திரியத்துடன் உள்நுழைக (EIP-4361) {#sign-in-with-ethereum}

[EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) எத்திரியம் உள்நுழைவுக்கான நிலையான செய்தி வடிவமைப்பை வரையறுக்கிறது, இது பொதுவாக **SIWE** (Sign-In with Ethereum) என்று அழைக்கப்படுகிறது. இது தற்காலிகச் செய்தி கையொப்பமிடுதலைக் கட்டமைக்கப்பட்ட, பாதுகாப்பான தரநிலையுடன் மாற்றுகிறது.

ஒரு SIWE செய்தி இப்படி இருக்கும்:

```yaml
example.com wants you to sign in with your Ethereum account:
0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B

I accept the Terms of Service: https://example.com/tos

URI: https://example.com/login
Version: 1
Chain ID: 1
Nonce: 32891757
Issued At: 2024-06-12T14:30:00Z
```

SIWE இன் முக்கிய அம்சங்கள்:

- **களப் பிணைப்பு (Domain binding)** - செய்தியில் களம் (domain) அடங்கும், இது ஃபிஷிங்கைத் தடுக்கிறது
- **சங்கிலி ஐடி (Chain ID)** - கையொப்பம் எந்தப் பிணையத்திற்குச் செல்லுபடியாகும் என்பதைக் குறிப்பிடுகிறது
- **நான்ஸ்** - மறுஇயக்கத் தாக்குதல்களைத் (replay attacks) தடுக்கிறது
- **காலாவதி** - செல்லுபடியாகும் சாளரத்தைக் கட்டுப்படுத்தும் விருப்ப நேரமுத்திரை
- **வளங்கள்** - வரையறுக்கப்பட்ட அணுகலுக்கான விருப்ப URIகள்

### SIWE நிரலகங்கள் {#siwe-libraries}

- **[siwe](https://github.com/spruceid/siwe)** - Spruce இன் அதிகாரப்பூர்வ TypeScript செயலாக்கம்
- **[siwe-rs](https://github.com/spruceid/siwe-rs)** - Rust செயலாக்கம்
- **[siwe-go](https://github.com/spruceid/siwe-go)** - Go செயலாக்கம்

### எடுத்துக்காட்டு: siwe உடன் கிளையன்ட் பக்க உள்நுழைவு {#example-siwe-client}

```ts
import { SiweMessage } from 'siwe'
import { BrowserProvider } from 'ethers'

async function signIn() {
  const provider = new BrowserProvider(window.ethereum)
  const signer = await provider.getSigner()
  const address = await signer.getAddress()

  // 1. உங்கள் பின்தளத்திலிருந்து ஒரு நான்ஸ்-ஐப் பெறவும்
  const { nonce } = await fetch('/api/auth/nonce').then(r => r.json())

  // 2. SIWE செய்தியை உருவாக்கி கையொப்பமிடவும்
  const message = new SiweMessage({
    domain: window.location.host,
    address,
    statement: 'Sign in to My Dapp',
    uri: window.location.origin,
    version: '1',
    chainId: 1,
    nonce,
  })

  const signature = await signer.signMessage(message.prepareMessage())

  // 3. சரிபார்ப்புக்கு பின்தளத்திற்கு அனுப்பவும்
  await fetch('/api/auth/verify', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ message, signature }),
  })
}
```

### எடுத்துக்காட்டு: சேவையகப் பக்க சரிபார்ப்பு (Node.js) {#example-siwe-server}

```ts
import { SiweMessage, generateNonce } from 'siwe'

// ஒரு நான்ஸ்-ஐ வழங்கி அதை அமர்வில் சேமிக்கவும், அதனால் /verify பின்னர் அதைச் சரிபார்க்க முடியும்
app.get('/api/auth/nonce', (req, res) => {
  req.session.nonce = generateNonce()
  res.json({ nonce: req.session.nonce })
})

app.post('/api/auth/verify', async (req, res) => {
  try {
    const { message, signature } = req.body
    const siweMessage = new SiweMessage(message)

    const { success, data } = await siweMessage.verify({
      signature,
      nonce: req.session.nonce,
    })

    if (success) {
      // data.address என்பது சரிபார்க்கப்பட்ட எத்திரியம் முகவரி ஆகும்
      // பயனருக்காக ஒரு அமர்வு அல்லது JWT-ஐ உருவாக்கவும்
      req.session.address = data.address
      res.json({ ok: true, address: data.address })
    }
  } catch {
    res.status(401).json({ error: 'Invalid signature' })
  }
})
```

## பணப்பை இணைப்பு நிரலகங்கள் {#wallet-connection-libraries}

அங்கீகரிப்பதற்கு முன், பயனர் தங்கள் பணப்பையை இணைக்க வேண்டும். இந்த நிரலகங்கள் அதை எளிதாக்குகின்றன:

- **[RainbowKit](https://www.rainbowkit.com/)** - அழகான UI உடன் பயன்படுத்தத் தயாராக உள்ள React கூறு
- **[ConnectKit](https://docs.family.co/connectkit)** - எளிதாகச் சேர்க்கக்கூடிய பணப்பை இணைப்பு மாதிரி (modal)
- **[AppKit (WalletConnect)](https://reown.com/appkit)** - உள்ளமைக்கப்பட்ட SIWE உடன் பல-சங்கிலி பணப்பை இணைப்பு
- **[wagmi](https://wagmi.sh)** - `useAccount`, `useConnect` உடன் React Hooks நிரலகம்

## கையொப்பங்களை கைமுறையாகச் சரிபார்த்தல் {#verifying-manually}

நீங்கள் SIWE ஐப் பயன்படுத்த விரும்பவில்லை என்றால், கையொப்பங்களை நேரடியாகச் சரிபார்க்கலாம்:

```ts
import { verifyMessage } from 'ethers'

// பயனர் கையொப்பமிட்ட செய்தி
const message = `Sign in to My Dapp. Nonce: ${storedNonce}`

// கையொப்பத்திலிருந்து கையொப்பமிட்டவரின் முகவரியை மீட்டெடுக்கவும்
const recoveredAddress = verifyMessage(message, signature)

// கோரப்பட்ட முகவரியுடன் ஒப்பிடவும்
if (recoveredAddress.toLowerCase() === claimedAddress.toLowerCase()) {
  // அங்கீகாரம் வெற்றிகரமானது
}
```

### முக்கியமான பாதுகாப்புக் குறிப்புகள் {#security-notes}

- **எப்போதும் ஒரு நான்ஸைப் பயன்படுத்தவும்** - பழைய கையொப்பம் மீண்டும் பயன்படுத்தப்படும் மறுஇயக்கத் தாக்குதல்களைத் தடுக்கிறது
- **களத்தைச் சேர்க்கவும்** - வெவ்வேறு தளங்களில் கையொப்பங்கள் செல்லுபடியாவதைத் தடுக்கிறது
- **காலாவதியைச் சரிபார்க்கவும்** - கையொப்பங்கள் வரையறுக்கப்பட்ட செல்லுபடியாகும் சாளரத்தைக் கொண்டிருக்க வேண்டும்
- **முடிந்தவரை SIWE (EIP-4361) ஐப் பயன்படுத்தவும்** - இது உங்களுக்காக மேற்கண்ட அனைத்தையும் கையாளுகிறது
- **தனிப்பட்ட திறவுகோல்களை ஒருபோதும் வெளிப்படுத்த வேண்டாம்** - கையொப்பமிடுதல் பணப்பையின் உள்ளே நடக்கிறது; உங்கள் செயலி முடிவை மட்டுமே பார்க்கிறது

## அமர்வு மேலாண்மை {#session-management}

அங்கீகரிக்கப்பட்டதும், வெப்2 ஐப் போலவே உங்களுக்கும் அமர்வுகள் தேவை. பொதுவான வடிவங்கள்:

- **JWT டோக்கன்கள்** - கையொப்பத்தைச் சரிபார்த்த பிறகு JWT ஐ வழங்கவும், API கோரிக்கைகளுக்குப் பயன்படுத்தவும்
- **சேவையகப் பக்க அமர்வுகள்** - சரிபார்க்கப்பட்ட முகவரியை அமர்வு குக்கீயில் சேமிக்கவும்
- **வளங்களுடன் SIWE** - குறிப்பிட்ட URIகளுடன் இணைக்கப்பட்ட வரையறுக்கப்பட்ட அணுகல் டோக்கன்களை வரையறுக்கவும்

வெப்2 இலிருந்து முக்கிய வேறுபாடு: பயனரின் எத்திரியம் முகவரி அவர்களின் நிலையான அடையாளமாகும். புதிய கணக்கை உருவாக்காமல் எந்தவொரு dapp இலும் அவர்கள் அதைப் பயன்படுத்தலாம்.

## பரவலாக்கப்பட்ட அடையாளம் {#decentralized-identity}

எத்திரியம் அங்கீகாரம் என்பது **சுய-இறையாண்மை அடையாளத்தை (self-sovereign identity)** நோக்கிய ஒரு பரந்த இயக்கத்தின் ஒரு பகுதியாகும். இந்த இடத்தில் உள்ள தரநிலைகள் மற்றும் திட்டங்கள் பின்வருமாறு:

- **[எத்திரியம் பெயர் சேவை (ENS)](https://ens.domains/)** - முகவரிகளுக்குத் தீர்க்கப்படும் மனிதர்கள் படிக்கக்கூடிய பெயர்கள் (எ.கா., `vitalik.eth`)
- **[எத்திரியம் சான்றளிப்பு சேவை (EAS)](https://attest.org/)** - அடையாளம் மற்றும் நற்சான்றிதழ்கள் பற்றிய சங்கிலிசார் சான்றளிப்புகள்
- **[W3C பரவலாக்கப்பட்ட அடையாளங்காட்டிகள் (DIDs)](https://www.w3.org/TR/did-core/)** - சரிபார்க்கக்கூடிய பரவலாக்கப்பட்ட அடையாளத்திற்கான உலகளாவிய தரநிலை
- **[Ceramic Network](https://ceramic.network/)** - ஒரு DID உடன் இணைக்கப்பட்ட பரவலாக்கப்பட்ட தரவு ஸ்ட்ரீம்கள்

## மேலும் படிக்க {#further-reading}

- [EIP-4361: எத்திரியத்துடன் உள்நுழைக](https://eips.ethereum.org/EIPS/eip-4361)
- [SIWE ஆவணங்கள்](https://docs.login.xyz/)
- [Auth0 இல் எத்திரியத்துடன் உள்நுழைக](https://auth0.com/blog/sign-in-with-ethereum-siwe-now-available-on-auth0/)
- [Reown AppKit அங்கீகார ஆவணங்கள்](https://docs.reown.com/appkit/authentication)
- [ENS ஆவணங்கள்](https://docs.ens.domains/)

## தொடர்புடைய தலைப்புகள் {#related-topics}

- [எத்திரியம் கணக்குகள்](/developers/docs/accounts/)
- [JavaScript API நிரலகங்கள்](/developers/docs/apis/javascript/)
- [பின்தள API நிரலகங்கள்](/developers/docs/apis/backend/)
- [பணப்பைகள்](/wallets/)