Skip to content

Providers

Providers integrate application-level services owned by another system: identity platforms, notification channels, OTP delivery, and payment networks. They do not own Elura sessions, routing, or application persistence.

text
HTTP/API layer -> Provider contract -> external platform
       |                 |
       +-> app database <-+
       +-> Gateway ticket issuer

The application remains responsible for accounts, orders, entitlements, idempotency, rate limits, and secret management. elura-providers validates provider protocols and returns normalized results.

Catalog

AreaBuilt-in integrationsFeature
IdentityGuest, password, phone, OAuth 2.0, code exchange, WeChat, WeChat Mini, Douyin, QuickSDKidentity
OTPOtpService with memory or injected storageotp
NotificationsAliyun SMSnotification-alisms
PaymentsAlipay, Apple, Douyin, QuickSDK, WeChat Mini, WeChat Payprovider-specific
CustomApplication implementations of the object-safe contractsproviders

Contribute reusable integrations

If a Provider implements a public service or protocol and can serve more than one application, contribute it to Elura instead of leaving every project to reimplement it. See Custom providers for the PR expectations. Application-specific account and order logic should remain in the application.

Dependency rule

Enable only the integrations the application uses. The crate has no default features, and concrete implementations stay out of the prelude so external dependencies remain visible at call sites.

toml
elura = { version = "0.3.1", features = ["identity", "otp", "notification-alisms"] }

Use full for documentation or broad development builds, not as the default production feature set.

Where providers run

Call providers from an application-owned HTTPS service or trusted worker. After identity verification, map the normalized identity to an account and issue a Gateway ticket. After payment verification, commit the order and entitlement idempotently, then deliver game-side changes through an outbox.

Do not expose provider secrets or raw upstream tokens through the Gateway game protocol.

Released under the MIT License.