Serverless Authentication and Authorization For Flutter – MJ Coffee app example | Auth0 & GetStream Chat

I have spent so much time to prepare this tutorial and I tried to make it a comprehensive course so that you can get what you need for authentication and authorization using Auth0 in a real app. I have written about 15.000 words which is about 60 pages. I also made videos to support this tutorial. I hope you enjoy it and do not forget to send me your feedback and if you liked it do not forget to star this repo, I appreciate it.

You can also follow me on different social media with @mhadaily handler, for example my Twitter is Let’s keep in touch.

Where to learn

This is an example supporting 5-part articles published originally on Auth0 you can read them here:

  • 1- TBA
  • 2- TBA
  • 3- TBA
  • 4- TBA
  • 5- TBA

Or you may watch it as a full course on my Youtube channel If you’d like it, do not forget to like the video too, it will help me to show this content to more developers.

How to use this repo

1- Clone the repo 2- main branch will contains clean project ready to implement Auth0 and 3- complete branch is complete implementation that you will learn in the articles or videos

What you will learn and build

While you can create a new Flutter project and implement everything you will learn in this article, it’s pretty common to implement authentication and authorization to an existing app, especially if it is supposed to release to production. To ensure what I will write in this article is as close to production-ready as possible, I have decided to add Auth0 and Chat to my existing app, MJ coffee.

Throughout these articles, you will secure the MJ Coffee app by adding authentication flow to log in via customer username and password and social identity providers such as Google and Apple. You’ll add roles and permissions to the users and limit app functionalities based on the user permissions and roles. Then you will learn how to add a support chat by adding chat while retrieving production-chat-token for each user via Auth0 Action, and limiting chat functionalities based on user roles and permissions.

Overview of what you'll learn

You will have full access to the complete source code of the application, which is available on this Github repository. However, I do recommend you to follow me step by step to understand inside-out. I have also recoded more comprehensive and longer videos to support this article, you may watch them on my Youtube channel playlist.


Please refine and fix bugs and issue that you may find and let’s keep this repo up-to-date and flawless.


I am doing all of my activities for Free and because I love to do it and I love community. Consider sponsor me.


View Github