Re: [PoC] Federated Authn/z with OAUTHBEARER

From: Jacob Champion <pchampion(at)vmware(dot)com>
To: "hlinnaka(at)iki(dot)fi" <hlinnaka(at)iki(dot)fi>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Cc: "michael(at)paquier(dot)xyz" <michael(at)paquier(dot)xyz>
Subject: Re: [PoC] Federated Authn/z with OAUTHBEARER
Date: 2021-08-25 18:41:39
Message-ID: 8a5a35b31c3f25f6b047e77def0445a60399981d.camel@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 2021-06-22 at 23:22 +0000, Jacob Champion wrote:
> On Fri, 2021-06-18 at 11:31 +0300, Heikki Linnakangas wrote:
> >
> > A few small things caught my eye in the backend oauth_exchange function:
> >
> > > + /* Handle the client's initial message. */
> > > + p = strdup(input);
> >
> > this strdup() should be pstrdup().
>
> Thanks, I'll fix that in the next re-roll.
>
> > In the same function, there are a bunch of reports like this:
> >
> > > ereport(ERROR,
> > > + (errcode(ERRCODE_PROTOCOL_VIOLATION),
> > > + errmsg("malformed OAUTHBEARER message"),
> > > + errdetail("Comma expected, but found character \"%s\".",
> > > + sanitize_char(*p))));
> >
> > I don't think the double quotes are needed here, because sanitize_char
> > will return quotes if it's a single character. So it would end up
> > looking like this: ... found character "'x'".
>
> I'll fix this too. Thanks!

v2, attached, incorporates Heikki's suggested fixes and also rebases on
top of latest HEAD, which had the SASL refactoring changes committed
last month.

The biggest change from the last patchset is 0001, an attempt at
enabling jsonapi in the frontend without the use of palloc(), based on
suggestions by Michael and Tom from last commitfest. I've also made
some improvements to the pytest suite. No major changes to the OAuth
implementation yet.

--Jacob

Attachment Content-Type Size
v2-0001-common-jsonapi-support-FRONTEND-clients.patch text/x-patch 20.4 KB
v2-0002-libpq-add-OAUTHBEARER-SASL-mechanism.patch text/x-patch 35.7 KB
v2-0003-backend-add-OAUTHBEARER-SASL-mechanism.patch text/x-patch 38.6 KB
v2-0004-Add-a-very-simple-authn_id-extension.patch text/x-patch 2.8 KB
v2-0005-Add-pytest-suite-for-OAuth.patch text/x-patch 131.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nikolay Samokhvalov 2021-08-25 18:42:22 Re: log_autovacuum in Postgres 14 -- ordering issue
Previous Message Bossart, Nathan 2021-08-25 18:30:10 Re: archive status ".ready" files may be created too early