Compare commits

...

1 Commits
master ... jwt

Author SHA1 Message Date
Sam Bull 43f59a21fc Move indexing back into .identify() method. 2020-12-19 16:44:41 +00:00
2 changed files with 4 additions and 3 deletions

View File

@ -15,11 +15,12 @@ AUTH_SCHEME = 'Bearer '
class JWTIdentityPolicy(AbstractIdentityPolicy):
def __init__(self, secret, algorithm='HS256'):
def __init__(self, secret, algorithm='HS256', key: str = 'login'):
if jwt is None:
raise RuntimeError('Please install `PyJWT`')
self.secret = secret
self.algorithm = algorithm
self.key = key
async def identify(self, request):
header_identity = request.headers.get(AUTH_HEADER_NAME)
@ -36,7 +37,7 @@ class JWTIdentityPolicy(AbstractIdentityPolicy):
identity = jwt.decode(token,
self.secret,
algorithms=[self.algorithm])
return identity
return identity.get(self.key)
async def remember(self, *args, **kwargs): # pragma: no cover
pass

View File

@ -43,7 +43,7 @@ async def test_identify(loop, make_token, aiohttp_client):
async def check(request):
policy = request.app[IDENTITY_KEY]
identity = await policy.identify(request)
assert 'Andrew' == identity['login']
assert 'Andrew' == identity
return web.Response()
app = web.Application()