Skip to content

itgoldio/everscale-auth-everspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 

Repository files navigation

Authorize From Everspace (rebranding from Oberton)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅


Π‘Π°ΠΉΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ссылку

Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ значСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² согласно стандарта URL-encoded format https://www.w3schools.com/tags/ref_urlencode.ASP, Π½Π° Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ»ΡŽΡ‡Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° callbackUrl

https://callback.url => https%3A%2F%2Fcallback.url

ΠΈ отрпавляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΈΠΏΠ»ΠΈΠ½ΠΊ https://oberton.io/deeplink с этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

type
ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ auth
ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΏΠΎ Π½Π΅ΠΌΡƒ oberton ΠΏΠΎΠΉΠΌΡ‘Ρ‚, Ρ‡Ρ‚ΠΎ это запрос Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡˆΠ΅Π»Ρ‘ΠΊ.

id
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ string
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ запроса ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ бэкСнд сайта Π½Π°ΠΉΠ΄Ρ‘Ρ‚ Ρƒ сСбя otp

otp
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ string
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ привязанный ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ этой ссылки ΠΈΠ»ΠΈ этого QR ΠΊΠΎΠ΄Π°. РСкомСндуСтся ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссиСй ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

callbackUrl
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ string
url Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΡˆΠ΅Π»Ρ‘ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ POST запрос, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ кошСльком.

warningText
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ string
Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΈΠΏΠ»ΠΈΠ½ΠΊ ссылки

https://oberton.io/deeplink?type=auth&id=testid&otp=testopt&callbackUrl=https%3A%2F%2Fcallback.url&warningText=Attention

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² кошСлькС Π²ΠΈΠ΄ΠΈΡ‚ запрос Π½Π° Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ с тСкстом ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° warningText
ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ

Oberton ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ сайт

Oberton Π±Π΅Ρ€Ρ‘Ρ‚ адрСс кошСлька ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ otp. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΡƒΡŽΡΡ строку ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Ρ‘ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡŽΡΡ подпись отправляСт Π½Π° callbackUrl ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ вмСстС с ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠŸΠ Π˜Π›ΠžΠ–Π˜Π’Π¬ ΠŸΠ Π˜ΠœΠ•Π  Π—ΠΠŸΠ ΠžΠ‘Π И BODY ΠžΠ’Π’Π•Π’Π

Авторизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

  1. Π‘Π°ΠΉΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ POST запрос ΠΎΡ‚ Oberton

  2. По ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ id сайт Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ otp Ρƒ сСбя Π² локальной Π‘Π”

  3. Π‘Π΅Ρ€Ρ‘ΠΌ ΠΈΠ· ΠΎΡ‚Π²Π΅Ρ‚Π° addr адрСс кошСлька ΠΈ pk провСряСм Ρ‡Π΅Ρ€Π΅Π· Π‘Π§ Ρ‡Ρ‚ΠΎ Ρƒ этого кошСлька Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡.

  4. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ подписи.

   const { hash } = await this.crypto.sha256({
	data: Buffer.from(`${otp}${callbackUrl}${address}`, 'utf-8').toString(
		'base64'
	),
   });


   const { succeeded } = await this.client.crypto.nacl_sign_detached_verify({
      unsigned: Buffer.from(hash, 'hex').toString('base64'),
      signature: Buffer.from(signature.replace(/ /g, '+'), 'base64').toString('hex'),
   });
  1. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² систСмС.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •