<feed xmlns='http://www.w3.org/2005/Atom'>
<title>genenetwork3/gn3, branch auth/implement-authorization-code-flow</title>
<subtitle>GeneNetwork3 REST API for data science and machine learning
</subtitle>
<id>http://git.genenetwork.org/genenetwork3/atom?h=auth%2Fimplement-authorization-code-flow</id>
<link rel='self' href='http://git.genenetwork.org/genenetwork3/atom?h=auth%2Fimplement-authorization-code-flow'/>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/'/>
<updated>2023-05-09T10:15:47+00:00</updated>
<entry>
<title>auth: Implement "Authorization Code Flow"</title>
<updated>2023-05-09T10:15:47+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-05-08T13:31:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=5526f0316c2714d30e47a90f81e0ff686a29042f'/>
<id>urn:sha1:5526f0316c2714d30e47a90f81e0ff686a29042f</id>
<content type='text'>
Implement the "Authorization Code Flow" for the authentication of users.

* gn3/auth/authentication/oauth2/grants/authorisation_code_grant.py: query and
  save the authorisation code.
* gn3/auth/authentication/oauth2/models/authorization_code.py: Implement the
  `AuthorisationCode` model
* gn3/auth/authentication/oauth2/models/oauth2client.py: Fix typo
* gn3/auth/authentication/oauth2/server.py: Register the
  `AuthorisationCodeGrant` grant with the server.
* gn3/auth/authentication/oauth2/views.py: Implement `/authorise` endpoint
* gn3/templates/base.html: New HTML Templates of authorisation UI
* gn3/templates/common-macros.html: New HTML Templates of authorisation UI
* gn3/templates/oauth2/authorise-user.html: New HTML Templates of
  authorisation UI
* main.py: Allow both "code" and "token" response types.
</content>
</entry>
<entry>
<title>auth: Retrieve `system:*` privileges from resource roles</title>
<updated>2023-04-27T03:46:48+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-27T03:33:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=f2c09dc2dc2528c75fcf5b80aa4b530a0b5eef08'/>
<id>urn:sha1:f2c09dc2dc2528c75fcf5b80aa4b530a0b5eef08</id>
<content type='text'>
With the assignment of `system:*` privileges to roles, we need to check for
their existence when doing authorisation.

This commit provides a hack for that, seeing as user groups (and the system
itself) are not treated as resources, and therefore the way to fetch the
privileges is not entirely consistent.
</content>
</entry>
<entry>
<title>auth: List also the non-resource privileges the user has</title>
<updated>2023-04-27T03:46:48+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-27T03:30:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=12e9f87753d5ef0d3343a2a92a824f2ace696e4e'/>
<id>urn:sha1:12e9f87753d5ef0d3343a2a92a824f2ace696e4e</id>
<content type='text'>
While creating new group roles, enable the listing of non-resource privileges,
e.g. `system:group:*` and `system:user:*` that the user has to allow for them
to be used in role creation.
</content>
</entry>
<entry>
<title>auth: Add authorisation checks for role editting.</title>
<updated>2023-04-27T02:43:52+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-27T02:43:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=0e96276a56e3a3fdf61d9f409eaac37072bdd292'/>
<id>urn:sha1:0e96276a56e3a3fdf61d9f409eaac37072bdd292</id>
<content type='text'>
</content>
</entry>
<entry>
<title>oauth2: Provide missing `user_editable` argument.</title>
<updated>2023-04-27T02:36:06+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-27T02:36:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=53b054787bc2adb679fe6cbf46ee9c20fbbc91ff'/>
<id>urn:sha1:53b054787bc2adb679fe6cbf46ee9c20fbbc91ff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auth: bug: Provide missing `user_editable` argument.</title>
<updated>2023-04-25T07:00:40+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-25T07:00:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=9556a73c3b0a9419cc20f3beb26ae9260ec64d88'/>
<id>urn:sha1:9556a73c3b0a9419cc20f3beb26ae9260ec64d88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auth: provide `user_editable` flag in dictified output</title>
<updated>2023-04-25T06:53:30+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-25T06:53:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=27ab5b141e3cdb6ca83c551c163cd9fd3008ad3c'/>
<id>urn:sha1:27ab5b141e3cdb6ca83c551c163cd9fd3008ad3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auth: Roles: Check for editability</title>
<updated>2023-04-25T06:42:36+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-25T06:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=8471ed1187a8abc5e28207776c5f49a59ba24b92'/>
<id>urn:sha1:8471ed1187a8abc5e28207776c5f49a59ba24b92</id>
<content type='text'>
Some roles should not be user-editable, and as such, we need to check before
allowing any edits on such roles. This commit makes that possible.
</content>
</entry>
<entry>
<title>auth: Return the actual privileges for the user</title>
<updated>2023-04-24T08:45:45+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-24T08:45:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=3e2198e39bc229553d118f367fbd2f9932a9a76b'/>
<id>urn:sha1:3e2198e39bc229553d118f367fbd2f9932a9a76b</id>
<content type='text'>
Previously, the `oauth2/data/authorisation` endpoint was returning hard-coded
values for the privileges assigned to the user for each resource. In this
change, we rework to return the actual privileges for the user.
</content>
</entry>
<entry>
<title>logging: Set LOG LEVEL on root logger to enable logs</title>
<updated>2023-04-21T07:27:59+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-04-21T07:27:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=993420e616e143684deb1c11565b6a8286cde37f'/>
<id>urn:sha1:993420e616e143684deb1c11565b6a8286cde37f</id>
<content type='text'>
</content>
</entry>
</feed>
