我的API目前受到来自django-oauth-toolkit的OAuth2TokenAuthentication的保护,因此它可以通过以下方式验证包含访问令牌的API请求:
?access_token=xxxx
Authorization: Bearer xxxx
中的虽然我可以在我的API视图中进行硬编码以尝试从这两个地方获取访问令牌,但是有一种获取令牌的规范方法吗?
答案 0 :(得分:0)
我挖掘了OAuth2TokenAuthentication中的代码,并将其借入我的API视图:
class IntrospectView(APIView):
"""
An API view that introspect a given token
"""
serializer_class = TokenIntrospectSerializer
authentication_classes = []
permission_classes = []
def get(self, request, *args, **kwargs):
oauthlib_core = get_oauthlib_core()
valid, r = oauthlib_core.verify_request(request, scopes=[])
if not valid:
raise APIException('Invalid token')
return Response(TokenIntrospectSerializer(r.access_token).data)