Skip to content

Commit 218e0e0

Browse files
authored
Merge pull request #30 from drmobile/develop
Develop
2 parents 570ec88 + 20fee87 commit 218e0e0

4 files changed

Lines changed: 19 additions & 1 deletion

File tree

flask_soocii_auth/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ def authorize_user():
112112
g.user = users.AnonymousUser()
113113
return
114114

115+
if g.access_token['soocii_id'] == 'soocii_guest':
116+
g.user = users.SoociiGuest()
117+
return
118+
115119
if g.access_token['uid'] == '':
116120
g.user = users.BackstageUser()
117121
return

flask_soocii_auth/users.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ class AnonymousUser(User):
88
pass
99

1010

11+
class SoociiGuest(User):
12+
pass
13+
14+
1115
class BackstageUser(User):
1216
@property
1317
def is_backstage(self):

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
setup(
66
name='soocii-services-lib',
7-
version='1.2.1',
7+
version='1.2.2',
88
packages=find_packages(exclude=['tests']),
99
url='https://github.com/drmobile/services-lib',
1010
license='Apache Software License',

tests/test_flask_soocii_auth.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,16 @@ def fake_func(_):
8484
assert resp.status_code == 200
8585
assert isinstance(g.user, users.AnonymousUser)
8686

87+
def test_user_soocii_guest(self):
88+
with self.app.test_client() as c:
89+
token = auth.generate_access_token(
90+
'', uuid.uuid4().hex, 1, uuid.uuid4().hex, soocii_id="soocii_guest"
91+
).decode('utf-8')
92+
SoociiAuthenticator(self.app)
93+
resp = c.get('/', headers={'Authorization': 'Bearer {}'.format(token)})
94+
assert resp.status_code == 200
95+
assert isinstance(g.user, users.SoociiGuest)
96+
8797
def test_env_vars_invalid(self):
8898
os.environ['ACCESS_TOKEN_SECRET'] = 'None'
8999
os.environ['REFRESH_TOKEN_SECRET'] = 'None'

0 commit comments

Comments
 (0)