我有以下算法来检查请求是否正确:
from aiohttp import BasicAuth
class A:
def __init__(
self,
user_name: str,
password: str,
...
):
self._auth_header = BasicAuth(login=user_name, password=password).encode()
async def handle_request(self, request):
if not self.is_authorized_request(request):
return Response(status=HTTPUnauthorized.status_code)
...
return Response(status=HTTPOk.status_code)
def is_authorized_request(self, request) -> bool:
auth = request.headers.get("Authorization")
return auth == self._auth_header
但是现在我需要将身份验证更改为基于令牌的身份验证,而不是登录凭据。因为客户没有使用登录凭据的能力。
因此,我需要将令牌身份验证配置为URL的一部分。 最好的方法是什么?
我正在考虑从网址中提取api_token
并进行检查:
if my_token != api_token:
return Response(status=HTTPUnauthorized.status_code)
但是我不确定该解决方案。