Перейти до основного вмісту
Ендпоінт generateJWT створює URL для прив’язки соціальних мереж для окремого User Profile. Див. Business Plan and Launch Plan API integration для отримання додаткової інформації.

Перемикання профілів

Щоб перемикатися між різними сесіями профілів (наприклад, під час тестування з кількома профілями), спочатку потрібно вийти з поточного профілю. Див. Automatic Logout of a Profile Session для інструкцій щодо правильного перемикання профілів.

Private Key та Profile Key

Де отримати Private Key

Файл Private Key (private.key) та зразковий JSON-файл Postman входять до вашого Integration Package, отриманого під час онбордингу. Integration Package також можна завантажити на панелі розробника Ayrshare на сторінці API -> Integration Package.

Використання Private Key

Ми рекомендуємо читати Private Key private.key з файлу та надсилати його як рядок у полі privateKey, що дозволяє зберегти всі символи, включно з переносами рядків. Private Key має бути точним, тобто зі збереженням усіх символів, включно з переносами рядків. Якщо ви вставляєте ключ у свій код, вам може знадобитися вручну замінити переноси рядків символом \n або URL-кодувати рядок. Вставлення ключа безпосередньо в код часто спричиняє проблеми.

Створення JSON Web Token

1-хвилинне відео, що пояснює, як згенерувати JSON Web Token (JWT):
JWT URL дійсний протягом 5 хвилин. Через 5 хвилин потрібно згенерувати новий JWT URL. Див. Max Pack expiresIn для додаткових опцій.

Відкриття JWT URL

Відкривайте JWT URL у новій вкладці браузера, у новому вікні браузера або у View Controller на iOS. Ви можете керувати закриттям або перенаправленням нового вікна або вкладки.
Соціальні мережі не дозволяють відкривати URL у iFrame або приховувати схвалений партнерський origin domain profile.ayrshare.com.

Перевірка JWT URL

Ендпоінт generateJWT не перевіряє повернений JWT URL за замовчуванням. Наприклад, якщо в generateJWT передано пошкоджений Private Key, URL все одно буде повернуто, а URL призведе до помилки 401. Ви можете перевірити повернений JWT URL, додавши verify: true у параметри тіла generateJWT. Якщо JWT URL не вдасться перевірити, буде повернуто помилку. Наприклад, якщо з Private Key видалили символ, буде повернуто таке:
JWT Error
Ми рекомендуємо використовувати verify: true лише в непродакшн-середовищі, оскільки валідація потребує додаткового часу обробки.

Тестування в Postman

Рекомендується спочатку протестувати створення JWT URL у Postman. До Integration Package, який знаходиться на сторінці API Key Primary Profile у панелі керування, включено зразок конфігураційного JSON-файлу Postman, що містить усе необхідне для перевірки створення JWT URL. Просто імпортуйте конфігураційний файл у Postman, заповніть свій Profile Key (знайдений у панелі розробника Ayrshare шляхом перемикання на профіль, який хочете протестувати) у полі body profileKey і натисніть синю кнопку Send. Усі інші обов’язкові поля вже заповнені. Ви також можете згенерувати код із Postman або прочитати файл ключа з каталогу чи бази даних. Акаунти Instagram можна прив’язати двома способами: безпосередньо через Instagram Login або через підключену Facebook Page. Який процес починається, коли користувач натискає кнопку Instagram на сторінці прив’язки соціальних мереж, зазвичай контролюється налаштуванням Instagram Login на рівні акаунту в панелі керування. Параметр тіла instagramLinkMethod ендпоінту generateJWT дозволяє перевизначити це налаштування для окремого URL прив’язки: Наприклад, якщо ваш стандарт акаунту — прив’язка через Facebook Page, наступне примусово встановить пряме входження в Instagram лише для цієї сесії прив’язки:
Instagram Link Method
Згенерований JWT URL включатиме перевизначення, і натискання кнопки Instagram на сторінці прив’язки запустить запитаний процес на час цієї сесії — включно через перенаправлення авторизації Instagram/Facebook. Кілька моментів, які варто знати:
  • Перевизначення застосовується лише до сторінки прив’язки, відкритої з поверненого URL. Воно не змінює налаштування Instagram Login на рівні акаунту та не впливає на інші сесії прив’язки.
  • Якщо instagramLinkMethod пропущено, сторінка прив’язки використовує налаштування вашого акаунту, як і раніше.
  • Якщо надіслано недійсне значення, повертається помилка 400 зі списком допустимих значень (instagram, facebook).
  • Перегляньте відмінності функцій між двома процесами перед вибором перевизначення — деякі функції Instagram, такі як пошук хештегів і колаборації, доступні лише за автентифікації через Facebook Page.

JWT Expires In

Якщо ви хочете, щоб JWT був дійсним довше стандартних 5 хвилин, додайте поле expiresIn. Наприклад, надішліть наступний JSON, щоб установити JWT URL дійсним протягом 30 хвилин:
JWT Expires In
Це дозволяє надіслати посилання електронною поштою своїм користувачам, замість того щоб вони переходили до вашого застосунку або платформи. Поширений випадок використання — коли вашому користувачу потрібно повторно підключити соціальний акаунт, ви можете надіслати йому JWT-посилання електронною поштою, щоб він міг напряму повторно прив’язати соціальний акаунт, не переходячи до вашої платформи.
Обов’язково обговоріть зі своєю командою безпеки, як довго ваш бізнес хоче тримати JWT активним. Довші терміни закінчення дії створюють додатковий ризик доступу до посилання неавторизованою стороною.

Інтеграції

Bubble.io JWT

Якщо ви користувач Bubble, будь ласка, див. Generate JWT Token у розділі Bubble.io для отримання інструкцій:

Bubble Generate JWT

Мобільний JWT

Наведені нижче приклади мобільного коду на Swift, Flutter та React Native показують, як запустити сторінку прив’язки соціальних мереж на пристрої iOS. Замініть строкову змінну jwtURL на значення, повернуте з ендпоінту /generateJWT.

Swift (iOS)

У Swift використовуйте UIViewController та SFSafariViewControllerDelegate. Ми не рекомендуємо використовувати WebView, оскільки деякі соціальні мережі, такі як Facebook і Google, блокують автентифікацію.

Flutter (Dart)

У Flutter (Dart) немає прямого еквівалента UIViewController або SFSafariViewController. Однак ви можете досягти подібної функціональності, використовуючи пакет url_launcher для відкриття веб-URL.

React Native

React Native також не має прямого еквівалента SFSafariViewController, але ви можете досягти подібного результату за допомогою API WebBrowser, наданого expo-web-browser, який відкриває URL у модальному вікні браузера, що ділиться cookies із системним браузером. Крім того, ви можете використовувати вбудовану функцію React Native Linking, щоб відкрити Safari: await Linking.canOpenURL(jwtURL);

Приклади мобільного коду

Connect Accounts Email

Разом з опцією довшого часу закінчення дії ви можете автоматично налаштувати Ayrshare, щоб вашим користувачам надсилалося посилання на сторінку прив’язки соціальних мереж електронною поштою.

Connect Accounts JSON

Наприклад, наступний JSON надішле електронний лист на john@user.com із назвою компанії ACME, контактною електронною адресою support@mycompany.com та посиланнями на умови використання та політику конфіденційності:
Example Contact Email Request
Відповідь включатиме наступне, якщо було встановлено email та час закінчення дії:
Example Contact Email Response

Приклад JWT Connect Accounts Email

Ось приклад електронного листа з посиланням Connect Account, що відкриває сторінку прив’язки соціальних мереж: JWT Email Лист надійде з адреси: Social Connect Hub <connect@socialconnecthub.com>