Yes, lots of them! To name just a few:
And many, many more! The Redux Addons Catalog has a list of Redux-based applications and examples that points to a variety of actual applications, large and small.
Authentication is essential to any real application. When going about authentication you must keep in mind that nothing changes with how you should organize your application and you should implement authentication in the same way you would any other feature. It is relatively straightforward:
Create action constants for
Create action creators that take in credentials, a flag that signifies whether authentication succeeded, a token, or an error message as the payload.
Create an async action creator with Redux Thunk middleware or any middleware you see fit to fire a network request to an API that returns a token if the credentials are valid. Then save the token in the local storage or show a response to the user if it failed. You can perform these side effects from the action creators you wrote in the previous step.
Create a reducer that returns the next state for each possible authentication case (