SSO

Logowanie przez SSO (Single Sign-On)

SSO pozwala reklamodawcom logować się do panelu AdsHero bezpośrednio z platformy sklepu — bez konieczności zakładania osobnego konta ani podawania dodatkowych danych logowania.

Warunkiem jest, aby konto reklamodawcy istniało już w systemie AdsHero — zostaje ono utworzone automatycznie na etapie obsługi feeda.

Token JWT

Token JWT musi być podpisany algorytmem HMAC-SHA256 (HS256) przy użyciu wspólnego sekretu. Sekret do podpisywania tokenów otrzymuje się od zespołu AdsHero.

Header:

{
  "alg": "HS256"
}

Payload — powinien zawierać następujące pola:

{
  "sub": "string (email)",
  "iss": "string",
  "seller_ids": ["string"],
  "exp": 0
}

Opis pól tokenu:

  • sub — Adres e-mail użytkownika. Będzie to również login utworzonego w systemie AdsHero użytkownika.
  • iss — Unikalny identyfikator whitelabel (UUID) nadany przez AdsHero.
  • seller_ids — Lista identyfikatorów sprzedawców (external_seller_id z feeda), do których użytkownik ma dostęp. Musi zawierać wartość przekazywaną w parametrze sellerId.
  • exp — Czas wygaśnięcia tokenu (Unix timestamp). Token z przeterminowaną wartością exp zostanie odrzucony.
ℹ️
W panelu AdsHero wyświetlamy imię i nazwisko zalogowanego użytkownika. Ponieważ token JWT nie zawiera tych danych, w procesie tworzenia użytkownika jako imię wstawiamy część adresu e-mail przed znakiem @. Nazwisko pozostaje puste.

Endpoint uwierzytelniania

Token JWT wygenerowany przez sklep zostaje wysłany do AdsHero na endpoint:

GET https://api.adshero.io/v1/auth/sso?token={tokenJWT}&sellerId={sellerId} HTTP/2
curl --location --request GET \
    'https://api.adshero.io/v1/auth/sso?token={tokenJWT}&sellerId={sellerId}'

Opis parametrów zapytania:

  • token — Token JWT w standardowym formacie (header.payload.signature).
  • sellerId — ID aktualnie wybranego sprzedawcy (external_seller_id z feeda).