<?xml version="1.0" encoding='utf-8'?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">Blogging Roller</title>
    <subtitle type="html">Dave Johnson on open web technologies, social software and software development</subtitle>
    <id>https://rollerweblogger.org/roller/feed/entries/atom</id>
        <link rel="self" type="application/atom+xml" href="https://rollerweblogger.org/roller/feed/entries/atom?tags=nodejs" />
    <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/" />
    <updated>2026-04-19T12:36:21+00:00</updated>
    <generator uri="http://roller.apache.org" version="6.1.5">Apache Roller</generator>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/blogql-google-login</id>
        <title type="html">BlogQL, Apollo Server and Google Login</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/blogql-google-login"/>
        <published>2023-03-31T14:30:00+00:00</published>
        <updated>2023-03-31T14:30:00+00:00</updated> 
        <category term="Web Development" label="Web Development" />
        <category term="graphql" scheme="http://roller.apache.org/ns/tags/" />
        <category term="nodejs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensource" scheme="http://roller.apache.org/ns/tags/" />
        <category term="reactjs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="typescript" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;div slice=&quot;1 1 []&quot; clipboard=&quot;true&quot;&gt;The BlogQL server uses Apollo Server to provide a GraphQL API. Initially, I was using Apollo Server standalone, but when I stared integrating Google Login I realized I needed a couple of REST APIs so I added Express&amp;nbsp;&lt;a href=&quot;https://expressjs.com/&quot; rev=&quot;en_rl_none&quot;&gt;https://expressjs.com&lt;/a&gt;&amp;nbsp;for that. On the frontend, I&amp;#39;m using &lt;a href=&quot;https://www.npmjs.com/package/@react-oauth/google&quot; target=&quot;_blank&quot;&gt;React Oauth2&lt;/a&gt;&amp;nbsp;which makes adding Google Login support very easy to implement.&amp;nbsp; This all works fine, but if I were to start over I might consider using a server-side framework like Next.js&amp;nbsp;&lt;a href=&quot;https://nextjs.org/&quot; rev=&quot;en_rl_none&quot;&gt;https://nextjs.org&lt;/a&gt;&amp;nbsp;instead of rolling my own Apollo Server and Express setup.&amp;nbsp;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This is part of a series of short posts about BlogQL:&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://github.com/snoopdave/blogql&quot; rev=&quot;en_rl_none&quot;&gt;https://github.com/snoopdave/blogql&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</content>
    </entry>
</feed>

