{% extends "portal_base.html" %} {% block title %}Social accounts · Portal{% endblock %} {% block topbar_title %}Social accounts{% endblock %} {% block portal_content %}

Add account

{% if connect_meta %}

{{ connect_meta.title }}

    {% for step in connect_meta.steps %}
  1. {{ step }}
  2. {% endfor %} {% if connect_meta.docs_url %}
  3. Reference: platform docs
  4. {% endif %}
{% if connect_meta.oauth and connect_platform == 'linkedin' %}

Must match exactly (including http/https and trailing slash).

{% csrf_token %}
{% if linkedin_secret_saved %}

Secret already saved (encrypted). Enter a new value only to replace it.

{% endif %}
{% if linkedin_oauth_ready %} Connect with LinkedIn {% else %} {% endif %} Cancel
{% else %}
{% csrf_token %} {% for name, label, placeholder in connect_meta.fields %}
{% if name == 'access_token' %} {% else %} {% endif %}
{% endfor %}
Cancel
{% endif %}
{% endif %}

Connected accounts

{% for account in accounts %} {% empty %} {% endfor %}
Account Platform Status
{{ account.label }}
{{ account.external_id }}
{{ account.get_platform_display }} {% if account.is_active %} Active {% else %} Inactive {% endif %}
{% if account.platform == 'linkedin' %} Re-authorize {% else %} Update tokens {% endif %} {% if account.is_active %}
{% csrf_token %}
{% else %}
{% csrf_token %}
{% endif %}
No accounts connected yet — pick a platform above.

When to re-auth

  • LinkedIn access tokens expire on a short cycle
  • Meta password changes or app review updates
  • Publishing fails with an auth error

Next

{% endblock %} {% block extra_js %} {% if connect_platform %} {% endif %} {% if connect_platform == 'linkedin' %} {% endif %} {% endblock %}