-
-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(new auth api): add EmbyConnect authentication API #943
base: develop
Are you sure you want to change the base?
Conversation
Created an Emby Connect API with the required methods to orchestrate a set of calls towards EmbyConnect to build a JellyseerrLoginResponse object. Added an EmbyConnect authentication call to the Jellyfin login() method as the last authentication attempt, but only if the username is an email address. Updated the post() method on the ExternalApi class to handle request bodies that need to be x-www-form-urlencoded. Fallenbagel#749
This refactor includes a change that adds a conditional arg to the ExternalApi get() method to override the base url. This method was pre-existing and already used in the calls and method. Fallenbagel#943
Thanks for the feedback. |
Reverting get() baseUrl overwrite in favour of a vanilla fetch() call Fallenbagel#943
@gauthier-th I have resolved the final comment by reverting the baseUrl override in favour of a vanilla Please let me know if any other changes are required. |
Hey @gauthier-th |
This will be merged, in time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
This still needs to be tested, though.
As this is a feature I'd love to have, I installed it on my local instance. The steps I took are: git clone https://github.com/pXius/jellyseerr.git
cd jellyseerr
git checkout feature-emby-connect-login
docker build . -t fallenbagel/jellyseerr:embyconnectfix -f Dockerfile.local After changing the tag on my |
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged. |
@pXius can you please fix the merge conflict? |
After a month of running I've had no issues. Would love to see this merged as using the dev server introduces some performance degradation. |
You should have built it instead of using the dev server: https://docs.jellyseerr.dev/getting-started/buildfromsource |
Initially tried to build a non dev version, but ran into problems with the version tag and the ui reloading because of it. Thanks for the build, will switch over to that one for further testing. |
Is there any clue when or if this will be merged into main? For now I am fine running the docker tag, but it would be great to use LATEST. |
We are waiting for @pXius to fix the merge conflict. Once it's done it should be merged within a couple weeks. |
Hm, sad that I can't see the conflict without making a request myself. I would love to help. |
I know but I cannot see the actual conflict because I am not a member of this PR / reviewer. |
For now I am testing the docker tag, it works good :) Updated the DB myself to convert my existing local accounts to work with Emby accounts, just had to add the JellyfinUsername and JellyfinUserId to the db and it worked. |
Suddenly it does not work anymore.
But then it does not give an error, but just stays at the login page. As a sidenote, just emby local account gives the same issue now. Edit: It seems that migrating this way seems to break something I guess. |
Hey guys, apologies for a late response. I was away for work. I'll pull in main and fix conflicts this weekend. 👌 |
Nice. That would be amazing. Can you please try to make it work for local accounts that already have Emby connect, but the email is identical? right now, the behaviour is, a user logs in with Emby connect, an a sql error gets logged for duplicate user. |
Description
This PR is to serve as an RFC to add EmbyConnect authentication to Jellyseerr.
If follows the exact flow used when login in via https://emby.media, but creates a
JellyfinLoginResponse
as the last step using the acquired data.Changes to Code
JellyseerrLoginResponse
objectx-www-form-urlencoded
Notes
Additional Improvements?
To-Dos
pnpm build
pnpm i18n:extract
Issues Fixed or Closed