title: Implementation of Firebase Auth with Flutter and Provider
body: <p>I am a bit confused about the implementation of Provider with Firebase Auth. Every tutorial seems to use different methods. <br><br> I have a service named <code>AuthService</code> which contains a variable <code>final FirebaseAuth auth = FirebaseAuth.instance</code>. So, I want to use the following <code>stream</code>: <code>AuthService.auth.onAuthStateChanged</code> in a widged. The question is should I use something like: <br></p>
  <pre><code>StreamProvider&lt;FirebaseUser&gt;.value(
    value: AuthService().auth.onAuthStateChanged,
    child: ...
  </code></pre>
  <p>or create a constructor like this: <br></p>
  <pre><code>Provider&lt;AuthService&gt;(
    create: (_) =&gt; AuthService(),
    child: ...
  )
  </code></pre>
  <p>and access it somewhere in the widget:</p>
  <pre><code>final authService = Provider.of&lt;AuthService&gt;(context);&lt;br&gt;
  final user = authService.auth.onAuthStateChanged;
  </code></pre>