iv-org / invidious

Invidious is an alternative front-end to YouTube
https://invidious.io
GNU Affero General Public License v3.0
16.08k stars 1.78k forks source link

[Bug] Attempts to login with Google not successful #2098

Closed popums closed 1 year ago

popums commented 3 years ago

The site displays the following error message:

Unexpected char 'l' at line 1, column 2 Traceback: Getting lookup...

Please be so kind and look into this, and thank you for your time.

PaulDance commented 3 years ago

Same for me. Anyone else can reproduce the bug?

Aslemammad commented 3 years ago

I tried both my password and App passwords in google, it doesn't work and gives me the same error.

SamantazFox commented 3 years ago

This feature was coded by the original developper, Omar Roth, an afaik, nobody worked on it yet. It'll take some time, as we need to figure out how the google authentication is done, and then fix it.

Sorry for the inconvenience, we're only a small team of volunteers, and thanks for your understanding :)

IoIxD commented 3 years ago

What would be wrong with just using Google's own log in system? I can't imagine that implementing this feature without it would even be possible for security reasons.

unixfox commented 3 years ago

What would be wrong with just using Google's own log in system? I can't imagine that implementing this feature without it would even be possible for security reasons.

What do you mean by google's own logging system?

PaulDance commented 3 years ago

@unixfox Something along the lines of this I think: https://developers.google.com/youtube/v3/guides/authentication

unixfox commented 3 years ago

@unixfox Something along the lines of this I think: https://developers.google.com/youtube/v3/guides/authentication

But this requires the invidious instance owner to have a Google account because you can't create keys for google oauth without a google account.

Also the created keys will be linked to the domain where invidious is running and this will allow Google to know that the logged in user is using invidious.

Due to these two main disadvantages this feature will hardly ever be used by the users of invidious. It is even more likely that a very few amount of public instances will enable this feature because their owner don't want to have a Google account.

We have no plans to spend time on this because it's a very niche feature but you (@IoIxD) or anyone else can still publish a pull request with the feature implemented in the code.

PaulDance commented 3 years ago

@unixfox You are quite right in that it would most probably create serious breaches in the privacy of the user, which is rather counter-productive considering the goals of Invidious. I would even add the following: modifying the contents of the "Watch later" private playlist through Invidious would probably reveal every video one watches, or could watch at some point depending on the use of the playlist, to Google. It would definitely not be ideal.

However, the feature still seems somewhat interesting because it would enable users to switch to Invidious faster, to ease up the transition, especially when one has a lot of subscriptions and videos saved in personal playlists. Another possibility that could cover this use case would be to investigate importing data exported automatically from one's Google (or YouTube I don't remember) account into one's Invidious account. I think it includes quite a bit of interesting things, like personal playlists and subscriptions among others. That would enable avoiding Google entirely while still having a smoother transition.

Concerning the currently available feature, I would be in favor of a decision from the organization, if that's even a thing. A few possibilities I can think of:

IoIxD commented 3 years ago

So it sounds like it won't be implemented at all, but if you're not gonna add it via Google's built in feature then I don't think doing it forcefully (like the original person who tried to implement this tried to do) will even work, so I suggest the option just be removed from the sign in page entirely.

syeopite commented 3 years ago

Something along the lines of this I think: https://developers.google.com/youtube/v3/guides/authentication

Irrc omarroth wanted to have some integration with Google like what's suggested here. I'm personally in support of adding this integration as long as the instance maintainer can disable it.

...You are quite right in that it would most probably create...

Yep, exactly my thoughts. I'd personally cast my vote on properly fixing the google sign-in functionality, with further integration in the future. Though for now, as the Google sign-in future is broken and likely wouldn't get fixed for awhile, I propose that we temporally hide the related endpoints and UI completely.

panki27 commented 2 years ago

I just set up invidious, had to search around a bit until I found this. I support the notion of hiding the functionality for the time being.

SamantazFox commented 2 years ago

I just set up invidious, had to search around a bit until I found this. I support the notion of hiding the functionality for the time being.

This has been done in #2423

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale and will be closed in 30 days because it has not had recent activity and is much likely outdated. If you think this issue is still relevant and applicable, you just have to post a comment and it will be unmarked.

IoIxD commented 1 year ago

The one and only time I wikl ever agree with Drew Devault on something (and look past the fact that he really wants you to use an ancient and senile alternative to GitHub)

martin-braun commented 1 year ago

This is a deal-breaker to be honest. There are many great alternatives to YouTube, but all force you to become a passive viewer, which is unfortunate. I love to interact with the community, taking discussions with viewers or communicating with small creators who might notice my comments.

IoIxD commented 1 year ago

This is a deal-breaker to be honest. There are many great alternatives to YouTube, but all force you to become a passive viewer, which is unfortunate. I love to interact with the community, taking discussions with viewers or communicating with small creators who might notice my comments.

Did you intend to send this right after google sent a cease and desist to the team claiming the API was being used (when it wasn't)? Interesting coincidence if you didnt intend it.

It definitely sucks but Google definitely just shot down the idea.

martin-braun commented 1 year ago

@IoIxD I did not intend this. Louis Rossmann want's to launch a multi platform front-end, but some people mentioned Invidious in his comment section, so I searched this. I used to know about this project in the past, but remember that I never picked it up, because of the lack of integration with Google itself. Revisiting this now, I'd like to express my concern and desire.

It definitely sucks but Google definitely just shot down the idea.

Yea, it sucks.

SamantazFox commented 1 year ago

Unfortunately, we're removing all the code related to this feature. I don't have the time to follow up with Google's constant breaking changes, and the recent events added a final nail in the coffin. Also, by not having a google Account integration, our users can't risk breaking Google's ToS, which could result in their account being suspended.

unixfox commented 1 year ago

Do note that it is not the end of this feature, some people have opened pull request for integrating oauth (https://github.com/iv-org/invidious/pull/3164) which could be used with the official oauth system from Google (not tested).

Or at least for creating an implementation that does the intermediate between invidious authentication system and google system.

In the end, we don't quite want to implement a way to authenticate with Google in the code base. External implementations are free to be developed if #3164 gets merged one day.

martin-braun commented 1 year ago

Unfortunately, we're removing all the code related to this feature. I don't have the time to follow up with Google's constant breaking changes, and the recent events added a final nail in the coffin. Also, by not having a google Account integration, our users can't risk breaking Google's ToS, which could result in their account being suspended.

@SamantazFox I fully respect and agree to your decision. It might be the best to keep Google out of products that bypass their revenue stream.

However, I know that it's possible to hot-link comments. Why not adding a reply button that will open the video in the browser with the comment you want to reply pinned. This way you could take action and participate in the community off Invidius. There are more than enough extensions to disable autoplay on YouTube, so this could be an accepting middle ground.

In the same way you could just hyperlink the video by clicking on the like button. My only concern is that you can't block trackers on Google's end. The user need to take care of that or know that he/she will lose privacy by commenting and liking, which is by all respect, obvious anyways.

This would be a fine opt-in feature from within the settings. Thanks for reading.

SamantazFox commented 1 year ago

However, I know that it's possible to hot-link comments. Why not adding a reply button that will open the video in the browser with the comment you want to reply pinned. This way you could take action and participate in the community off Invidius. There are more than enough extensions to disable autoplay on YouTube, so this could be an accepting middle ground.

This feature is already available ^^ (though, to be perfectly honnest, I never use it, so I don't know if it is broken) image

In the same way you could just hyperlink the video by clicking on the like button. My only concern is that you can't block trackers on Google's end. The user need to take care of that or know that he/she will lose privacy by commenting and liking, which is by all respect, obvious anyways.

Likes are handled in JS on Youtube, so we can't hotlink them. However, you can either use the permalink mentioned above or the "watch on youtube" link to get teleported there!