aboutsummaryrefslogtreecommitdiff
path: root/gn3/auth/authentication/oauth2
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-01-03 07:22:02 +0300
committerFrederick Muriuki Muriithi2023-01-03 07:24:46 +0300
commit0a31f61ee9db84eb35087073ef6b58f352252aae (patch)
tree70d249b9a1c1c911146b4a05867a3e0d0119a7cb /gn3/auth/authentication/oauth2
parentda33d719105d67afb1ee6b040380211cfa8be23d (diff)
downloadgenenetwork3-0a31f61ee9db84eb35087073ef6b58f352252aae.tar.gz
auth: Fetch all of a user's roles.
* gn3/auth/authorisation/roles.py: Fetch roles from DB * gn3/auth/authorisation/views.py: Provide API endpoint for user roles * tests/unit/auth/test_roles.py: Tests to check fetching roles works correctly Fix linting and typing issues in the following files: * gn3/auth/authentication/oauth2/resource_server.py * gn3/auth/authentication/oauth2/views.py * tests/unit/auth/fixtures/oauth2_client_fixtures.py
Diffstat (limited to 'gn3/auth/authentication/oauth2')
-rw-r--r--gn3/auth/authentication/oauth2/resource_server.py4
-rw-r--r--gn3/auth/authentication/oauth2/views.py5
2 files changed, 5 insertions, 4 deletions
diff --git a/gn3/auth/authentication/oauth2/resource_server.py b/gn3/auth/authentication/oauth2/resource_server.py
index 885cbd8..223e811 100644
--- a/gn3/auth/authentication/oauth2/resource_server.py
+++ b/gn3/auth/authentication/oauth2/resource_server.py
@@ -2,7 +2,7 @@
from flask import current_app as app
from authlib.oauth2.rfc6750 import BearerTokenValidator as _BearerTokenValidator
-from authlib.integrations.flask_oauth2 import ResourceProtector, current_token
+from authlib.integrations.flask_oauth2 import ResourceProtector
from gn3.auth import db
from gn3.auth.authentication.oauth2.models.oauth2token import token_by_access_token
@@ -11,7 +11,7 @@ class BearerTokenValidator(_BearerTokenValidator):
"""Extends `authlib.oauth2.rfc6750.BearerTokenValidator`"""
def authenticate_token(self, token_string: str):
with db.connection(app.config["AUTH_DB"]) as conn:
- return token_by_access_token(conn, token_string).maybe(
+ return token_by_access_token(conn, token_string).maybe(# type: ignore[misc]
None, lambda tok: tok)
require_oauth = ResourceProtector()
diff --git a/gn3/auth/authentication/oauth2/views.py b/gn3/auth/authentication/oauth2/views.py
index 0947aa2..7d0d7dd 100644
--- a/gn3/auth/authentication/oauth2/views.py
+++ b/gn3/auth/authentication/oauth2/views.py
@@ -45,8 +45,9 @@ def introspect_token():
@oauth2.route("/user")
@require_oauth("profile")
def user_details():
- with require_oauth.acquire("profile") as token:
- user = token.user
+ """Return user's details."""
+ with require_oauth.acquire("profile") as the_token:
+ user = the_token.user
return jsonify({
"user_id": user.user_id,
"email": user.email,