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>)
<URL_YOUR_SITE>este linkul final către site-ul dvs., unde utilizatorul va fi redirecționat după autorizare.- De exemplu, https://auth.ecom.md/ru/auth?redirect_url=https://www.youtube.com/
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
Utilizatorul merge la AuthHub, URL:
https://auth.ecom.md/ru/auth?redirect_url=https://www.youtube.com/
După autorizare, AuthHub redirecționează utilizatorul la adresa:
https://www.youtube.com/?token=vt0tT3LFtACHs82q6EWmv6rTAHVfr...
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..." }'
API-ul AuthHub returnează simboluri:
{ "refresh": "", "access": "", "auth_token": "" }
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
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.
- Limitarea perioadei de valabilitate a jetoanelor:
Jetonele de accessunt valabile pentru o perioadă limitată de timp, după care trebuie să utilizați unJeton de reîmprospătarepentru a solicita un nouJeton de acces.
redirect_url :
- Această legătură trebuie configurată pentru a gestiona corect parametrul
tokenreturnat.
- Această legătură trebuie configurată pentru a gestiona corect parametrul
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