jwplayer / ott-web-app

Reference implementation for JWP-powered apps
Apache License 2.0
72 stars 53 forks source link

Feature Request: Allow for other Authentication Providers #84

Closed nielswh closed 4 months ago

nielswh commented 2 years ago

One feature that would be great would be to allow for other Authentication Providers. We are currently integrating Okta. I would be available to help with this. I would recommend that the project allows for the ability to plug-in any provider based on the configuration set during build.

marcovandeveen commented 2 years ago

Thanks @nielswh. Sorry for not seeing this earlier.

Others are struggling with this indeed.

I assume this also requires disabling the Cleeng functionality in the process right? See #44

What were you able to achieve so far?

dbudzins commented 2 years ago

Indeed, I think it's valuable to modularize and make pluggable all of the different services. One challenge is that the existing cleeng service basically does everything without clear interfaces to differentiate authentication, accounts, subscriptions, payments, etc. Just switching the authentication piece raises questions about what to do with the others (i.e. we would need to connect the Okta account to the subscriptions stored in cleeng.)

Cleeng has the ability to integrate with auth providers, but this can't be done exclusively through the frontend rather it requires some additional backend for the sso-login calls. Alternatively if you are only using Authvod, the application could run without the other parts that cleeng provides, but I don't know if the code is written nicely enough at the moment for that to work smoothly. In addition, some work would probably need to be done to abstract the authentication calls.

As @marcovandeveen points out we have issue #44 in the backlog to start some of this work, and once that's done, it will hopefully be much easier to write a service to connect to any alternative auth provider.

Is your current solution using authvod, cleeng-okta integration, or something else? Do you have any early learnings from work you've tried so far?

anoblet commented 8 months ago

Has there been any progress on this? We would like to have our app authenticate with Wordpress.

ChristiaanScheermeijer commented 4 months ago

The latest version of the code base allows custom integrations to be added. See here for more information:

https://github.com/jwplayer/ott-web-app/blob/develop/packages/common/docs/modularization.md https://github.com/jwplayer/ott-web-app/blob/develop/packages/common/docs/backend-services.md

You use the existing integrations as an example:

https://github.com/jwplayer/ott-web-app/tree/develop/packages/common/src/services/integrations

To register a custom integration, see the IOC register file:

https://github.com/jwplayer/ott-web-app/blob/develop/platforms/web/src/modules/register.ts#L10-L27

Let us know if you have issues or lack information for adding custom integrations.