<feed xmlns='http://www.w3.org/2005/Atom'>
<title>genenetwork3/gn3/auth/authentication/oauth2/grants, 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: resources: Enable assigning a user roles on resources</title>
<updated>2023-03-06T11:57:53+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-03-06T11:57:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=98e93be1b8e5353656e18f1452026db6f2902e6c'/>
<id>urn:sha1:98e93be1b8e5353656e18f1452026db6f2902e6c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auth: Setup the user correctly</title>
<updated>2023-01-20T08:48:30+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2023-01-20T08:42:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=c0db8ccf1be0d43c437fc9e5090e49329a6b2911'/>
<id>urn:sha1:c0db8ccf1be0d43c437fc9e5090e49329a6b2911</id>
<content type='text'>
* gn3/auth/authentication/oauth2/grants/password_grant.py: Return user rather
  than boolean
* gn3/auth/authentication/oauth2/models/oauth2client.py: provide optional
  `user` argument to allow flexibility in setting up the client's user
* gn3/auth/authentication/oauth2/models/oauth2token.py: Set token and client
  user correctly
* gn3/auth/authentication/oauth2/server.py: Set token user from the request
</content>
</entry>
<entry>
<title>auth: implement OAuth2 flow.</title>
<updated>2022-12-22T06:05:53+00:00</updated>
<author>
<name>Frederick Muriuki Muriithi</name>
</author>
<published>2022-12-19T13:02:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.genenetwork.org/genenetwork3/commit/?id=b0641272491eb51d321b1b8a7d062e395e70800f'/>
<id>urn:sha1:b0641272491eb51d321b1b8a7d062e395e70800f</id>
<content type='text'>
Add code to implement the OAuth2 flow.

* Add test fixtures for setting up users and OAuth2 clients
* Add tests for token generation with the "Password Grant" flow
* Fix some issues with test due to changes in the database connection's
  row_factory
</content>
</entry>
</feed>
