PHPackages                             smsh/ticketing-bridge - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. smsh/ticketing-bridge

ActiveSymfony-bundle[Authentication &amp; Authorization](/categories/authentication)

smsh/ticketing-bridge
=====================

SmartShanghai bridge for SolidSource ticketing external identity login.

1.0.4(1mo ago)00proprietaryPHPPHP &gt;=8.4

Since May 21Pushed 3w agoCompare

[ Source](https://github.com/alexw27/smsh-ticketing-bridge)[ Packagist](https://packagist.org/packages/smsh/ticketing-bridge)[ RSS](/packages/smsh-ticketing-bridge/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (13)Versions (5)Used By (0)

SmartShanghai Ticketing Bridge
==============================

[](#smartshanghai-ticketing-bridge)

Private Symfony bundle for plugging SmartShanghai into the SolidSource ticketing external identity system.

Package name:

```
"smsh/ticketing-bridge": "*"
```

What It Provides
----------------

[](#what-it-provides)

- Integration provider key: `smartshanghai`
- Admin integration provider: `SmartShanghai`
- External identity provider button for `/login` and `/register`
- Authentication handler for `/connect/smartshanghai/check`
- WeChat Scanner sales channel publisher (`wechat_scanner`) — generates scanner Mini Program QR codes when an event is published
- SmartShanghai event listing sync on publish — links SMSH listings via report access token and imports thumbnail

WeChat Scanner event QR codes
-----------------------------

[](#wechat-scanner-event-qr-codes)

On first event publish, the bridge generates a Mini Program QR for the `wechat_scanner` sales channel.

- **Credentials:** enabled WeChat integration with slug `wechat-scanner` (`System → API / Integrations`).
- **Page:** `pages/scanner/scanner` with scene `id={eventId}`.

SmartShanghai event listing sync
--------------------------------

[](#smartshanghai-event-listing-sync)

When an event is published, the bridge:

1. Creates a promoter report access token (label: `SmartShanghai listing sync`).
2. Calls `PATCH {api_base_url}/api2/admin/smtk-event-bridge/{event_id}?key={api_token}` with `{ "access_token": "" }` — `{event_id}` is the ticketing event id (same as `smtk_id` on SmartShanghai).
3. Downloads `data.thumbnail_path` from the response and sets it as the event thumbnail (admin → Media).

Requires an enabled SmartShanghai integration with `api_base_url` and `api_token`. Optional setting **Event bridge API path** (default `/api2/admin/smtk-event-bridge/{event_id}`).

Expected SmartShanghai Flow
---------------------------

[](#expected-smartshanghai-flow)

1. User clicks `Continue with SmartShanghai`.
2. The ticketing app redirects to the configured SmartShanghai `login_url`.
3. The bridge appends `callback_url=`.
4. SmartShanghai authenticates the user and redirects back with a short-lived JWT:

```
/connect/smartshanghai/check?jwt=

```

The callback also accepts `token=` or an `Authorization: Bearer ` header.

The JWT payload should contain an external user id as either:

- `user_id`
- `sub`

The bridge decodes the JWT only to read that user id for the verify API path. **JWT validity is checked by SmartShanghai's API**, not locally.

Integration Settings
--------------------

[](#integration-settings)

Configure these under `System -> API / Integrations -> SmartShanghai`:

- `login_url`: SmartShanghai login URL.
- `api_base_url`: SmartShanghai API base URL.
- `api_token`: partner API key sent as the `key` query parameter on every SmartShanghai API call.
- `verify_user_path`: optional path, defaults to `/api2/ticketing/users/{user_id}`.
- `event_bridge_path`: optional path, defaults to `/api2/admin/smtk-event-bridge/{event_id}`.

Verify User API Contract
------------------------

[](#verify-user-api-contract)

The bridge calls:

```
GET {api_base_url}{verify_user_path}?jwt=&key=

```

Example default URL:

```
GET https://smsh.solidsource.software/api2/ticketing/users/123?jwt=...&key=...

```

Expected successful response:

```
{
  "valid": true,
  "email": "user@example.com"
}
```

`email` is optional. The ticketing app can create a local user with only the linked external identity.

Any non-2xx response or `"valid": false` rejects login.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance94

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Total

4

Last Release

39d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d7aa033118a20fbbab7fd653b44c6c4c21997dcdff80f743e8c7d76804b1f620?d=identicon)[alexweng27](/maintainers/alexweng27)

---

Top Contributors

[![alexw27](https://avatars.githubusercontent.com/u/43231084?v=4)](https://github.com/alexw27 "alexw27 (13 commits)")

### Embed Badge

![Health badge](/badges/smsh-ticketing-bridge/health.svg)

```
[![Health](https://phpackages.com/badges/smsh-ticketing-bridge/health.svg)](https://phpackages.com/packages/smsh-ticketing-bridge)
```

###  Alternatives

[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M600](/packages/shopware-core)[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k13.0M221](/packages/simplesamlphp-simplesamlphp)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M215](/packages/sulu-sulu)[oro/platform

Business Application Platform (BAP)

645143.5k116](/packages/oro-platform)[contao/core-bundle

Contao Open Source CMS

1231.6M2.8k](/packages/contao-core-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
