HUB de autentificare


Documentație privind procesul de autorizare AuthHub

Descrierea sistemului

AuthHub este un sistem de autorizare care folosește redirect_url pentru a returna utilizatorul după autorizarea cu succes. Utilizatorul merge mai întâi la AuthHub pentru autorizare, apoi revine pe site-ul de pe care a venit, cu un token în parametrii de interogare. Folosind acest token, site-ul solicită token-uri JWT valide (access, refresh) de la AuthHub pentru acces suplimentar la API.

Etape de autorizare

1. Redirecționarea utilizatorului către AuthHub

Când începe autorizarea, utilizatorul este redirecționat către site-ul web AuthHub. Solicitarea trebuie să includă parametrul redirect_url, care va indica linkul de retur după autorizare.

Exemplu de interogare:

[https://auth.ecom.md/ru/auth?redirect_url=<URL_SITE-UL_TĂU>](https://auth.ecom.md/ru/auth?redirect_url=<URL_SITE-UL_TĂU>)

2. Redirecționați cu un token către site-ul dvs

Odată ce utilizatorul s-a conectat cu succes, AuthHub îl va redirecționa înapoi pe site-ul dvs. folosind redirect_url furnizat. Adresa trebuie să conțină un parametru de interogare „token” cu valoarea temporară a simbolului.

Exemplu de URL după redirecționare:

[https://example.com/callback?token=<AUTH_TOKEN>](https://example.com/callback?token=<AUTH_TOKEN>)
  • <AUTH_TOKEN> este un token temporar furnizat de AuthHub care ar trebui folosit pentru a obține token-uri JWT.

3. Solicitați jetoane JWT de la API-ul AuthHub

Pentru a primi jetoane JWT, site-ul dvs. face o solicitare către un API special furnizat de AuthHub. Indicatorul transmis către redirect_url este folosit în corpul cererii ca intrare.

Exemplu de interogare:

curl --location '<http://admin.ecom.md/users/hub-auth/'> \
--header „Content-Type: application/json” \
--header „Accept: application/json” \
--data '{
  "token": "<AUTH_TOKEN>"
}'

4. Răspuns de la AuthHub

Dacă token-ul transmis este validat cu succes, AuthHub returnează o structură cu token-uri JWT pentru utilizator.

Exemplu de răspuns:

{
  "refresh": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...", // Token pentru reîmprospătare
  „access”: „eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ...”, // Indicativ de acces (perioada limitată)
  "auth_token": "vt0tT3LFtACHs82q6EWmv6rTAHVfrwvsQ9..."
}

Important:
Când autorizarea este efectuată prin AuthHub, puteți adăuga un semnalizare la cerere:

„is_hub”: adevărat

5. Utilizarea unui token de acces pentru solicitările ulterioare

Odată ce ați primit indicatoarele, puteți utiliza simbolul „acces” pentru a face solicitări autorizate către API-urile securizate ale site-ului dvs.

Exemplu de utilizare:

curl --location „<https://admin.ecom.md/user/user-group”> \
--header „Autorizare: Purtător <ACCESS_TOKEN>”
  • Token de acces (access) - folosit pentru cererile autorizate.
  • Token de reîmprospătare (refresh) - folosit pentru a obține un nou simbol de acces dacă cel actual a expirat.

Exemplu complet de autorizare

  1. Utilizatorul merge la AuthHub, URL:

    https://auth.ecom.md/ru/auth?redirect_url=https://www.youtube.com/

  2. După autorizare, AuthHub redirecționează utilizatorul la adresa:

    https://www.youtube.com/?token=vt0tT3LFtACHs82q6EWmv6rTAHVfr...

  3. Site-ul dvs. trimite o solicitare pentru a primi jetoane JWT:

    curl --location ' \ --header „Content-Type: application/json” \ --header „Accept: application/json” \ --data '{ "token": "vt0tT3LFtACHs82q6EWmv6rTAHVfr..." }'

  4. API-ul AuthHub returnează simboluri:

    { "refresh": "", "access": "", "auth_token": "" }

  5. Site-ul dvs. folosește un simbol „acces” pentru solicitările autorizate către API:

    curl --location „http://example.com/api/protected-endpoint/”\ --header „Autorizare: Purtător ”

Puncte și recomandări importante

  1. Siguranță:

    • Asigurați-vă că toate solicitările sunt făcute prin HTTPS pentru a proteja datele de scurgeri.
    • Nu stocați jetoane de „acces” și „reîmprospătare” în locuri nesecurizate, cum ar fi LocalStorage sau în interiorul unei adrese URL.

      1. Limitarea perioadei de valabilitate a jetoanelor:
    • Jetonele de acces sunt valabile pentru o perioadă limitată de timp, după care trebuie să utilizați un Jeton de reîmprospătare pentru a solicita un nou Jeton de acces.

  2. redirect_url :

    • Această legătură trebuie configurată pentru a gestiona corect parametrul token returnat.

Glosar de termeni

  • Redirect URL - adresa către care AuthHub redirecționează utilizatorul după autorizarea cu succes.
  • Auth Token este un token temporar folosit pentru a obține setul principal de jetoane JWT.
  • Access Token - token pentru efectuarea cererilor protejate (valabil pentru o perioadă limitată).
  • Refresh Token - un token pentru prelungirea perioadei de valabilitate a „Access Token”.

A fost util articolul?

Da, multumesc! Din pacate nu

article.helpfulQuestion