Skip to content

Commit

Permalink
feat!: add JWP authentication, payments, and subscriptions with docs
Browse files Browse the repository at this point in the history
  • Loading branch information
dbudzins committed Jan 30, 2023
1 parent 80c2183 commit 97f6451
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 7 deletions.
7 changes: 5 additions & 2 deletions docs/backend-services.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,10 @@ that any backend integration needs to support broken down by role:

## Existing Configurations

### Cleeng (https://developers.cleeng.com/docs)
### JWP

The OTT Web App is optimized to work with JWP authentication, subscriptions, and payments. For configuration options see [configuration.md](configuration.md)

The OTT Web App was initially built around Cleeng, and Cleeng is an all-in-one platform that provides support for all of the 3 functional roles above. For configuration options see [configuration.md](configuration.md)
### Cleeng (https://developers.cleeng.com/docs)

The Web App was also developed with support for Cleeng. Cleeng is a 3rd party platform that also provides support for the 3 functional roles above.
38 changes: 37 additions & 1 deletion docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,45 @@ The eight-character Playlist ID of the Watchlist playlist that you want to use t

---

**integrations.jwp**

Use the `integrations.jwp` object to activate the JWP integrations for authentication and/or payments and subscriptions.

```
{
"integrations": {
"jwp": {
"clientId": "c6f4002f-7415-4eb6-ab03-72b0f7aaa0e8",
"assetId": 115022,
"useSandbox": true
}
}
}
```

---

**integrations.jwp.clientId** (optional)

The ID of your JWP Authentication and Subscription environment if you would like to activate JWP account, subscription, and payment functionality. Omit this key in your config to disable this functionality. See [docs/backend-services](backend-services.md) for more details.

---

**integrations.jwp.assetId** (optional)

If JWP authentication is enabled, and you want to show the Payments and Subscription functionality as well, you need to include the asset ID. The application uses this ID to map to a subscription offer that you've configured in your JWP environment that represent your subscription options.

---

**integrations.jwp.useSandbox** (optional)

This setting determines which JWP environment is used. If false or not defined, the production environment is used. If true, the test (sandbox) environment is used. Note, this setting is ignored if JWP integrations are not enabled (i.e. there is not clientId defined)

---

**integrations.cleeng**

Use the `integrations.cleeng` object to to integrate with Cleeng.
Use the `integrations.cleeng` object to integrate with Cleeng.

```
{
Expand Down
6 changes: 3 additions & 3 deletions docs/features/video-protection.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,15 @@ It's possible to have free content. This is indicated with media parameter `free

### Users and entitlements

The users and their entitlements are typically stored in a subscription management service like Cleeng.
The users and their entitlements are typically stored in a subscription management service like JWP or Cleeng.

Users and their entitlements might also be split:

- Users at identity providers like Okta or Amazon Cognito
- Entitlements at a subscription provider like Cleeng
- Entitlements at a subscription provider like JWP or Cleeng

### SVOD Optimization

Notice that each time a user accesses a video, the service would have to check against the subscription provider (e.g., Cleeng) to validate if there is a subscription. This request can be slow and might have consumption limits.
Notice that each time a user accesses a video, the service would have to check against the subscription provider (e.g., JWP or Cleeng) to validate if there is a subscription. This request can be slow and might have consumption limits.

To ensure a fast user experience this subscription status can be stored in ``UserSubscriptionToken``: a signed time-bound claim that the user has valid subscription. This claim would be exchanged when signing URLs.
10 changes: 9 additions & 1 deletion docs/frameworks.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,15 @@ CodeceptJS is a modern end-to-end testing framework that is designed to make tes

[Read more.](https://codecept.io/basics/)

## Cleeng (MediaStore SDK)
## JWP Authentication, Payments, and Subscriptions

The Web App is optimized to use authentication, payments, and subscription services from the JW Platform.

- Identity management
- Monthly and Yearly Subscriptions
- Payments with Paypal or Credit Card with 3D secure

## Cleeng MediaStore SDK (Optional)

Cleeng is a subscription retention platform that provides a seamless integration for identity, entitlement, billing, and analytics functionality.

Expand Down

0 comments on commit 97f6451

Please sign in to comment.