Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update example with firebase auth #8127

Merged
merged 4 commits into from
Jul 26, 2019
Merged

Update example with firebase auth #8127

merged 4 commits into from
Jul 26, 2019

Conversation

0x80
Copy link
Contributor

@0x80 0x80 commented Jul 26, 2019

  • Update readme to reflect changes in Firebase console and fix any outdated instructions.
  • Remove references to obsolete database url for Firebase client config
  • Add sessions folder to prevent errors on first run

@0x80 0x80 requested a review from lfades as a code owner July 26, 2019 14:37
@0x80
Copy link
Contributor Author

0x80 commented Jul 26, 2019

By using the default file location for session-file-store the sessions are stored locally in the project's sessions subfolder. I've added that folder using .gitkeep to avoid the server printing errors when first started.

@github-actions
Copy link
Contributor

Stats from current PR

Click to expand stats
zeit/next.js canary 0x80/next.js topic/update-example-with-firebase-auth Change
Build Duration 12s 12s ⚠️ +15ms
node_modules Size 45.5 MB 45.5 MB
Total Bundle (main, webpack, commons) Size 206 kB 206 kB
Total Bundle (main, webpack, commons) gzip Size 67.9 kB 67.9 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.22 kB 8.22 kB
Client _error gzip Size 3.16 kB 3.16 kB
Client pages/index Size 343 B 343 B
Client pages/index gzip Size 246 B 246 B
Client pages/link Size 4.08 kB 4.08 kB
Client pages/link gzip Size 1.8 kB 1.8 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 20 kB 20 kB
Client main gzip Size 6.86 kB 6.86 kB
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Base Rendered Size 1.35 kB 1.35 kB
Build Dir Size 704 kB 704 kB
Click to expand serverless stats
zeit/next.js canary 0x80/next.js topic/update-example-with-firebase-auth Change
Build Duration 13.5s 13s -511ms
node_modules Size 45.5 MB 45.5 MB
Total Bundle (main, webpack, commons) Size 206 kB 206 kB
Total Bundle (main, webpack, commons) gzip Size 67.9 kB 67.9 kB ⚠️ +2 B
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB ⚠️ +1 B
Client _error Size 8.22 kB 8.22 kB
Client _error gzip Size 3.16 kB 3.16 kB
Client pages/index Size 343 B 343 B
Client pages/index gzip Size 246 B 246 B
Client pages/link Size 4.08 kB 4.08 kB
Client pages/link gzip Size 1.8 kB 1.8 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 300 B 301 B ⚠️ +1 B
Client main Size 20 kB 20 kB
Client main gzip Size 6.85 kB 6.86 kB ⚠️ +1 B
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Serverless pages/link Size 252 kB 252 kB
Serverless pages/link gzip Size 67.9 kB 67.9 kB
Serverless pages/index Size 245 kB 245 kB
Serverless pages/index gzip Size 65.7 kB 65.7 kB
Serverless pages/_error Size 244 kB 244 kB
Serverless pages/_error gzip Size 65.5 kB 65.5 kB -1 B
Serverless pages/routerDirect Size 245 kB 245 kB
Serverless pages/routerDirect gzip Size 65.7 kB 65.7 kB
Serverless pages/withRouter Size 245 kB 245 kB
Serverless pages/withRouter gzip Size 65.8 kB 65.8 kB
Build Dir Size 1.89 MB 1.89 MB

@github-actions
Copy link
Contributor

Stats from current PR

Click to expand stats
zeit/next.js canary 0x80/next.js topic/update-example-with-firebase-auth Change
Build Duration 12s 11.9s -96ms
node_modules Size 45.5 MB 45.5 MB
Total Bundle (main, webpack, commons) Size 206 kB 206 kB
Total Bundle (main, webpack, commons) gzip Size 67.9 kB 67.9 kB ⚠️ +2 B
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB ⚠️ +1 B
Client _error Size 8.22 kB 8.22 kB
Client _error gzip Size 3.16 kB 3.16 kB
Client pages/index Size 343 B 343 B
Client pages/index gzip Size 246 B 246 B
Client pages/link Size 4.08 kB 4.08 kB
Client pages/link gzip Size 1.8 kB 1.8 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 300 B 301 B ⚠️ +1 B
Client main Size 20 kB 20 kB
Client main gzip Size 6.85 kB 6.86 kB ⚠️ +1 B
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Base Rendered Size 1.35 kB 1.35 kB
Build Dir Size 704 kB 704 kB
Click to expand serverless stats
zeit/next.js canary 0x80/next.js topic/update-example-with-firebase-auth Change
Build Duration 13.2s 12.8s -320ms
node_modules Size 45.5 MB 45.5 MB
Total Bundle (main, webpack, commons) Size 206 kB 206 kB
Total Bundle (main, webpack, commons) gzip Size 67.9 kB 67.9 kB
Client _app Size 2.39 kB 2.39 kB
Client _app gzip Size 1.08 kB 1.08 kB
Client _error Size 8.22 kB 8.22 kB
Client _error gzip Size 3.16 kB 3.16 kB
Client pages/index Size 343 B 343 B
Client pages/index gzip Size 246 B 246 B
Client pages/link Size 4.08 kB 4.08 kB
Client pages/link gzip Size 1.8 kB 1.8 kB
Client pages/routerDirect Size 423 B 423 B
Client pages/routerDirect gzip Size 306 B 306 B
Client pages/withRouter Size 435 B 435 B
Client pages/withRouter gzip Size 301 B 301 B
Client main Size 20 kB 20 kB
Client main gzip Size 6.86 kB 6.86 kB
Client commons Size 184 kB 184 kB
Client commons gzip Size 59.7 kB 59.7 kB
Client webpack Size 1.49 kB 1.49 kB
Client webpack gzip Size 770 B 770 B
Serverless pages/link Size 252 kB 252 kB
Serverless pages/link gzip Size 67.9 kB 67.9 kB ⚠️ +1 B
Serverless pages/index Size 245 kB 245 kB
Serverless pages/index gzip Size 65.7 kB 65.7 kB ⚠️ +1 B
Serverless pages/_error Size 244 kB 244 kB
Serverless pages/_error gzip Size 65.5 kB 65.5 kB ⚠️ +1 B
Serverless pages/routerDirect Size 245 kB 245 kB
Serverless pages/routerDirect gzip Size 65.7 kB 65.7 kB ⚠️ +1 B
Serverless pages/withRouter Size 245 kB 245 kB
Serverless pages/withRouter gzip Size 65.8 kB 65.8 kB
Build Dir Size 1.89 MB 1.89 MB

Copy link
Member

@lfades lfades left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@0x80 Thank you 💯

@lfades lfades merged commit 8243af2 into vercel:canary Jul 26, 2019
@Timer Timer added this to the 9.0.3 milestone Jul 26, 2019
kodiakhq bot pushed a commit to mcansh/connection that referenced this pull request Aug 1, 2019
## The dependency [next](https://github.com/zeit/next.js) was updated from `9.0.2` to `9.0.3`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

---

**Publisher:** [zeit-bot](https://www.npmjs.com/~zeit-bot)
**License:** MIT

<details>
<summary>Release Notes for v9.0.3</summary>

<h3>Minor Changes</h3>
<ul>
<li>Experimental module/nomodule support: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="462231644" data-permission-text="Issue title is private" data-url="vercel/next.js#7704" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7704/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7704">#7704</a></li>
</ul>
<h3>Patches</h3>
<ul>
<li>Modern JS for SSR Bundles: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="467869135" data-permission-text="Issue title is private" data-url="vercel/next.js#7961" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7961/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7961">#7961</a></li>
<li>Add .gitignore: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="466739863" data-permission-text="Issue title is private" data-url="vercel/next.js#7893" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7893/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7893">#7893</a></li>
<li>Import isomorphic-unfetch in data fetching example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="466886896" data-permission-text="Issue title is private" data-url="vercel/next.js#7895" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7895/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7895">#7895</a></li>
<li>Make tests for both async and sync GIP: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468706447" data-permission-text="Issue title is private" data-url="vercel/next.js#7999" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7999/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7999">#7999</a></li>
<li>Rework dynamic routing &lt;Link&gt; documentation: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468803528" data-permission-text="Issue title is private" data-url="vercel/next.js#8001" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8001/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8001">#8001</a></li>
<li>Avoid sending user errors to client: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468848773" data-permission-text="Issue title is private" data-url="vercel/next.js#8005" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8005/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8005">#8005</a></li>
<li>Replace fs.exists with fs.access: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="463627067" data-permission-text="Issue title is private" data-url="vercel/next.js#7742" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7742/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7742">#7742</a></li>
<li>Fix children key in with-typescript-styled-components example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="468834696" data-permission-text="Issue title is private" data-url="vercel/next.js#8003" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8003/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8003">#8003</a></li>
<li>Handle windows backslashes when checking ssr-prepass: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469319954" data-permission-text="Issue title is private" data-url="vercel/next.js#8016" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8016/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8016">#8016</a></li>
<li>Add Create Next App package: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469418599" data-permission-text="Issue title is private" data-url="vercel/next.js#8018" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8018/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8018">#8018</a></li>
<li>Reference correct repository: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/7f5f9818009c8cd90e1e5bd17d5517b45558dc5d/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/7f5f9818009c8cd90e1e5bd17d5517b45558dc5d"><tt>7f5f981</tt></a></li>
<li>Remove old media images: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/d486152b98b481afd2d6e6e013e8a0cefda93350/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/d486152b98b481afd2d6e6e013e8a0cefda93350"><tt>d486152</tt></a></li>
<li>Update CNA links to examples: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/bcd8eb6b784cc167507c8768c55fd8ea3735fee7/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/bcd8eb6b784cc167507c8768c55fd8ea3735fee7"><tt>bcd8eb6</tt></a></li>
<li>Fix CNA README typo: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/8fb32de0ab7399ace08d4832173942c1452e4241/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/8fb32de0ab7399ace08d4832173942c1452e4241"><tt>8fb32de</tt></a></li>
<li>Fix syntax error in ie11 from next-server/amp: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470024207" data-permission-text="Issue title is private" data-url="vercel/next.js#8032" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8032/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8032">#8032</a></li>
<li>Rewrite Create Next App: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470000615" data-permission-text="Issue title is private" data-url="vercel/next.js#8030" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8030/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8030">#8030</a></li>
<li>Comment out GIP in Custom &lt;App&gt;: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471135868" data-permission-text="Issue title is private" data-url="vercel/next.js#8055" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8055/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8055">#8055</a></li>
<li>Remove public/ file example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471136710" data-permission-text="Issue title is private" data-url="vercel/next.js#8056" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8056/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8056">#8056</a></li>
<li>Remove <code>now.json</code> from examples: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471137313" data-permission-text="Issue title is private" data-url="vercel/next.js#8057" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8057/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8057">#8057</a></li>
<li>Fix userAgent type error in README.md: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470826188" data-permission-text="Issue title is private" data-url="vercel/next.js#8048" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8048/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8048">#8048</a></li>
<li>Apply missing formatting: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471849421" data-permission-text="Issue title is private" data-url="vercel/next.js#8079" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8079/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8079">#8079</a></li>
<li>Updated "firebase-admin" module and added "firebase-functions-t…: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471838215" data-permission-text="Issue title is private" data-url="vercel/next.js#8078" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8078/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8078">#8078</a></li>
<li>Enable Kodiak bot: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472617792" data-permission-text="Issue title is private" data-url="vercel/next.js#8096" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8096/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8096">#8096</a></li>
<li>Disable notify on conflict: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/427a02a468ca6c8b101ab3229742f2c1ab1ced69/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/427a02a468ca6c8b101ab3229742f2c1ab1ced69"><tt>427a02a</tt></a></li>
<li>Improve types: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472623488" data-permission-text="Issue title is private" data-url="vercel/next.js#8097" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8097/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8097">#8097</a></li>
<li>Allow automatic static optimization in with-sentry-simple examp…: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472766378" data-permission-text="Issue title is private" data-url="vercel/next.js#8102" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8102/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8102">#8102</a></li>
<li>Require label to merge for now: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/d006a24d8f9d70ad92f59c41a42b2ecb7c46cbf6/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/d006a24d8f9d70ad92f59c41a42b2ecb7c46cbf6"><tt>d006a24</tt></a></li>
<li>Revert "Improve type definitions": <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472653248" data-permission-text="Issue title is private" data-url="vercel/next.js#8098" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8098/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8098">#8098</a></li>
<li>HTTP methods docs and REST example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472906101" data-permission-text="Issue title is private" data-url="vercel/next.js#8108" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8108/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8108">#8108</a></li>
<li>Configuration for body parsing size limit: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="466971206" data-permission-text="Issue title is private" data-url="vercel/next.js#7896" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7896/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7896">#7896</a></li>
<li>Add next-head-count &amp; remove next-head class: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469465078" data-permission-text="Issue title is private" data-url="vercel/next.js#8020" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8020/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8020">#8020</a></li>
<li>Fix extension for module/nomodule: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/8b0a93b0edf06d46da4839d5be426133810c8bad/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/8b0a93b0edf06d46da4839d5be426133810c8bad"><tt>8b0a93b</tt></a></li>
<li>Dynamic routes clarification: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472934525" data-permission-text="Issue title is private" data-url="vercel/next.js#8110" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8110/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8110">#8110</a></li>
<li>Fix index.js for API routes: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="472976319" data-permission-text="Issue title is private" data-url="vercel/next.js#8112" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8112/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8112">#8112</a></li>
<li>Fix onError prop-type warning in Link: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="469483279" data-permission-text="Issue title is private" data-url="vercel/next.js#8021" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8021/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8021">#8021</a></li>
<li>Auth example with api routes: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473108272" data-permission-text="Issue title is private" data-url="vercel/next.js#8118" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8118/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8118">#8118</a></li>
<li>Fixes problem with API and wrong regex: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473364571" data-permission-text="Issue title is private" data-url="vercel/next.js#8126" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8126/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8126">#8126</a></li>
<li>Update example with firebase auth: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473391249" data-permission-text="Issue title is private" data-url="vercel/next.js#8127" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8127/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8127">#8127</a></li>
<li>Improve type definitions: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473103574" data-permission-text="Issue title is private" data-url="vercel/next.js#8117" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8117/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8117">#8117</a></li>
<li>Docs: Fix comments in with-sentry example (server.js): <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473330715" data-permission-text="Issue title is private" data-url="vercel/next.js#8125" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8125/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8125">#8125</a></li>
<li>Add missing key prop for array elements in _document: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473585040" data-permission-text="Issue title is private" data-url="vercel/next.js#8132" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8132/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8132">#8132</a></li>
<li>Update README.md for with-http2 example: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473528809" data-permission-text="Issue title is private" data-url="vercel/next.js#8131" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8131/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8131">#8131</a></li>
<li>Fix spelling in  tsconfig.js of readme.md: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473650878" data-permission-text="Issue title is private" data-url="vercel/next.js#8138" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8138/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8138">#8138</a></li>
<li>Remove next.config.js: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473651232" data-permission-text="Issue title is private" data-url="vercel/next.js#8139" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8139/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8139">#8139</a></li>
<li>Upgrade with-mdx example from mdx 0.16 → 1.1: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473661737" data-permission-text="Issue title is private" data-url="vercel/next.js#8142" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8142/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8142">#8142</a></li>
<li>Remove kodiak: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/482f454c7afc6a2d5a94c1a78ea0917e0fa80dc8/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/482f454c7afc6a2d5a94c1a78ea0917e0fa80dc8"><tt>482f454</tt></a></li>
<li>Fix regex to not match any string with double underscore: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473812706" data-permission-text="Issue title is private" data-url="vercel/next.js#8153" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8153/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8153">#8153</a></li>
<li>Improve docs for API: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473932328" data-permission-text="Issue title is private" data-url="vercel/next.js#8155" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8155/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8155">#8155</a></li>
<li>Add 2 AWS Amplify SSR examples one with JS and one with TS: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471699809" data-permission-text="Issue title is private" data-url="vercel/next.js#8073" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8073/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8073">#8073</a></li>
<li>Update webpack to 4.38.0: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473713215" data-permission-text="Issue title is private" data-url="vercel/next.js#8147" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8147/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8147">#8147</a></li>
<li>Docs: Document change concerning api-routes: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="473203773" data-permission-text="Issue title is private" data-url="vercel/next.js#8121" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8121/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8121">#8121</a></li>
<li>Update missed lockfile: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/zeit/next.js/commit/25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/commit/25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00"><tt>25fd3f8</tt></a></li>
<li>Refactor(webpack): extract splitChunksConfig: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474132203" data-permission-text="Issue title is private" data-url="vercel/next.js#8161" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8161/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8161">#8161</a></li>
<li>Include <code>scheduler</code> in React bundle: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474156253" data-permission-text="Issue title is private" data-url="vercel/next.js#8164" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8164/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8164">#8164</a></li>
<li>Optional Server Compression: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="471351178" data-permission-text="Issue title is private" data-url="vercel/next.js#8066" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8066/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8066">#8066</a></li>
<li>Fix build only server-side <code>/api/index.js</code>: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474247771" data-permission-text="Issue title is private" data-url="vercel/next.js#8167" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8167/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8167">#8167</a></li>
<li>Fix a typo in README: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474647513" data-permission-text="Issue title is private" data-url="vercel/next.js#8177" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8177/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8177">#8177</a></li>
<li>Provide AppTree to getInitialProps for getDataFromTree: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="463422020" data-permission-text="Issue title is private" data-url="vercel/next.js#7732" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/7732/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/7732">#7732</a></li>
<li>Test environment code should target Node: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="474767437" data-permission-text="Issue title is private" data-url="vercel/next.js#8181" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8181/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8181">#8181</a></li>
<li>Fix: Add error message for duplicate route param name: <a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="470807151" data-permission-text="Issue title is private" data-url="vercel/next.js#8047" data-hovercard-type="pull_request" data-hovercard-url="/vercel/next.js/pull/8047/hovercard" href="https://urls.greenkeeper.io/zeit/next.js/pull/8047">#8047</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1270909" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/rakannimer">@rakannimer</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=4323180" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/adamwathan">@adamwathan</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=5691926" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/huv1k">@huv1k</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=4278345" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/lfades">@lfades</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=2252473" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/imdreamrunner">@imdreamrunner</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=14829154" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/dmytro-lymarenko">@dmytro-lymarenko</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=22380829" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/ijjk">@ijjk</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=105127" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/developit">@developit</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=6142074" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/janicklas-ralph">@janicklas-ralph</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=29964919" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/ikeryo1182">@ikeryo1182</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=18068142" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/chaitanyareddyk">@chaitanyareddyk</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=156628" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/adam187">@adam187</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1265681" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/HaNdTriX">@HaNdTriX</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1477230" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/devknoll">@devknoll</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=675812" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/sgmonda">@sgmonda</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=3165635" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/oliviertassinari">@oliviertassinari</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=1193520" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/0x80">@0x80</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=10408485" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/bapjiws">@bapjiws</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=3652404" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/oguzzkilic">@oguzzkilic</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=12414212" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/partyKyoung">@partyKyoung</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=5074763" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/lachlanjc">@lachlanjc</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=503795" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/tomasikp">@tomasikp</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=9304194" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/felixmosh">@felixmosh</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=12292047" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/eps1lon">@eps1lon</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=616428" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/Timer">@Timer</a>, <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=2817762" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/OttlikG">@OttlikG</a>, and <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=31798108" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://urls.greenkeeper.io/nataliemarleny">@nataliemarleny</a> for helping!</p>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 73 commits.</p>
<ul>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/00b56c6ede6fce26c300d3864f70ce1ecbe5fb1d"><code>00b56c6</code></a> <code>v9.0.3</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/dc9e2708984bc6bc7e87724fb5193e7f788c89a3"><code>dc9e270</code></a> <code>Update examples for Apollo with AppTree (#8180)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/22aee7f246cd90d32027009808d732eb01335710"><code>22aee7f</code></a> <code>tests(circleci): Update chromedriver to latest (#8192)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/6c2534362e3e77830be9af2ace9b72b008eae947"><code>6c25343</code></a> <code>Fix typo within blog-starter example (#8182)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/858f4eb8eca024fc0e4e20c5bb7c3bfcc4a7e265"><code>858f4eb</code></a> <code>v9.0.3-canary.6</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/b8aee7af77288554d36841148da2f0f65416364a"><code>b8aee7a</code></a> <code>fix: Add error message for duplicate route param name (#8047)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/c61f6c1200f86a1dab72b983d7d8274d4de90160"><code>c61f6c1</code></a> <code>Test environment code should target Node (#8181)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/4850bd03ef113de3e306099049cd7241ba9ca798"><code>4850bd0</code></a> <code>Provide AppTree to getInitialProps for getDataFromTree (#7732)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/72098328cfcc36dcadb0fbc7848f5020c5939213"><code>7209832</code></a> <code>Fix a typo in README (#8177)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/3e03fee2787b6b33fdef89a1d7abdce253e58a02"><code>3e03fee</code></a> <code>Fix build only server-side <code>/api/index.js</code> (#8167)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/9659b4b555fc99edde717e5607c6a4ee8c46b22b"><code>9659b4b</code></a> <code>Optional Server Compression (#8066)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/df213f7aabc2c598a194a7a161d1f6c22dc90e58"><code>df213f7</code></a> <code>Include <code>scheduler</code> in React bundle (#8164)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/7b33fbbfe677f7fa1a6e1ab1c41c732fa2d62da4"><code>7b33fbb</code></a> <code>v9.0.3-canary.5</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/91f60cdadf54c71db3749f4aa02a99c21702b93f"><code>91f60cd</code></a> <code>refactor(webpack): extract splitChunksConfig (#8161)</code></li>
<li><a href="https://urls.greenkeeper.io/zeit/next.js/commit/25fd3f86a3f7b7ad9075563f6f4a5dddf3079f00"><code>25fd3f8</code></a> <code>Update missed lockfile</code></li>
</ul>
<p>There are 73 commits in total.</p>
<p>See the <a href="https://urls.greenkeeper.io/zeit/next.js/compare/becd07402e6ed0145618972e80e81657050dadae...00b56c6ede6fce26c300d3864f70ce1ecbe5fb1d">full diff</a></p>
</details>

---

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

---


Your [Greenkeeper](https://greenkeeper.io) bot 🌴
@technoplato
Copy link

@0x80 @Timer Is this still supposed to work without modification with now 2.0?

@lfades
Copy link
Member

lfades commented Sep 12, 2019

@technoplato If it doesn't, it is broken 😿

@technoplato
Copy link

@lfades Not working for me. Does it work for you?

@lfades
Copy link
Member

lfades commented Sep 14, 2019

@technoplato I personally haven't run this example in my environment, examples are mainly developed by the community. If it doesn't work open up an issue or a PR to fix it 🙏

@technoplato
Copy link

@lfades I am doing just that. Just having to learn a little bit as I was trying to use this as a basis for learning in itself. I'll keep working on will post any relevant PRs, certainly.

@0x80
Copy link
Contributor Author

0x80 commented Sep 16, 2019

@technoplato @lfades I think I had it working with 2.0 but I'm not 100% sure since I moved away from this approach shortly after.

I moved to using firebase session cookies after this, which seems to be a better solution, but also ditched that after realizing that the server side auth related things were unnecessary for my app. I remember I also had trouble deploying to Now.sh because of incompatibilities between SSR and the firebase web SDK, so eventually I gave up and went with the most basic solution of not using server side auth at all. But that might not be an option for you...

Below you'll find the code I used for the server using firebase session cookies before I ditched server side auth all together. Hope it's helpful to someone.

import express from "express";
import bodyParser from "body-parser";
import cookieParser from "cookie-parser";
import next from "next";
import admin from "firebase-admin";

require("dotenv").config();

const port = parseInt(process.env.PORT || "3000", 10);
const dev = process.env.NODE_ENV !== "production";
const app = next({ dev });
const handle = app.getRequestHandler();

const firebase = admin.initializeApp();

app
  .prepare()
  .then(() => {
    const server = express();

    server.use(bodyParser.json());
    server.use(cookieParser());

    server.post("/api/sessionLogin", async (req, res) => {
      if (!req.body) return res.sendStatus(400);

      const idToken = req.body.idToken.toString();

      // @TODO add CSRF token check
      // https://firebase.google.com/docs/auth/admin/manage-cookies

      const expiresIn = 604800000; // week
      try {
        const sessionCookie = await firebase
          .auth()
          .createSessionCookie(idToken, { expiresIn });

        // Set cookie policy for session cookie.
        const options = {
          maxAge: expiresIn,
          httpOnly: true,
          secure: true
        };
        res.cookie("session", sessionCookie, options);
        res.json({ status: "success" });
      } catch (err) {
        res.status(401).send("UNAUTHORIZED REQUEST!");
      }
    });

    server.post("/api/sessionLogout", (req, res) => {
      res.clearCookie("session");
      res.json({ status: "success" });
    });

    /**
     * First handle the public routes that do not require auth session check
     */
    server.get("/", (req, res) => {
      return handle(req, res);
    });

    server.get("/login", (req, res) => {
      return handle(req, res);
    });

    server.get("/_next/*", (req, res) => {
      return handle(req, res);
    });

    /**
     * Then a catch all for the remaining routes which all require auth
     */
    server.get("*", (req, res) => {
      const sessionCookie = req.cookies.session || "";

      admin
        .auth()
        .verifySessionCookie(sessionCookie, true)
        .then(decodedClaims => {
          console.log("decodedClaims", decodedClaims);
          /**
           * @TODO check if user is admin using claims
           */
          return handle(req, res);
        })
        .catch(() => {
          // console.error(error.message);
          console.log("Failed to verify session cookie, redirect to login");
          // Session cookie is unavailable or invalid. Force user to login.
          res.redirect("/login");
        });
    });

    server.listen(port, err => {
      if (err) throw err;
      console.log(`> Ready on http://localhost:${port}`);
    });
  })
  .catch(err => console.error(err));

@vercel vercel locked as resolved and limited conversation to collaborators Feb 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants