A coding exercise - to create a single-page application that displays live streams, allows user to choose livestreams, has social login, stores messages from a particular user in backend, user should be able to post messages to livestream, search on particular users messages, stats page with particular user messages, search through messages etc.
This was deemed to be an 8 hour project. The issue I have with this is that it was a "senior backend developer" hiring. If you're a backend developer you may concentrate more on the api, the security - api access - token exchange etc. I wasn't really interested in the job because of their legacy php/laravel legacy stack, but found the project interesting and had spent more time on the backend. My project was reviewed by a product manager not an engineer. I didn't expect it to be accepted because I didn't do some of the front-end features, but I had spent enough time.
Advice - if you are interested in the job - don't focus on the backend. It will probably not be evaluated critically. Especially don't focus on the security. Do the minimum on the backend, security and persistence, and get the features up that they're looking for and the rest endpoints. I would say redirect to your backend and back to the spa for sessions. Don't worry about exchanging tokens or get the access code directly on the front-end and pass it to the backend. Nobody will know the difference, and the time scope of the project doesn't allow for otherwise. If the features aren't done on the frontend the backend won't be looked at.
A couple of gotchas on the google api - this project has nothing to do with youtube live api - it's the data api. 'videos/list' will not get you live stream videos. That's in 'search'.