Hi Everyone!
I want to authenticate the request through python middleware.currently i work with the default plugin and i want to give response in condition false case
here is my code
@Hook
def MyAuthMiddleware(request, session, metadata, spec):
auth_header = request.get_header(‘Authorization’)
if auth_header ==“12345”:
session.rate = 1000.0
session.per = 1.0
metadata[“token”] = “12345”
return request, session, metadata
else:
request.ReturnOverrides = {
“ResponseCode”: 400,
“ResponseError”: “Bad Request”
}
return request.ReturnOverrides,metadata,session
ReturnOvrrirdes not work what is the problem here?
Hi, you should return request
:
return request, metadata, session
Thankyou!
but now my code is
from tyk.decorators import *
from gateway import TykGateway as tyk
@Hook
def MyAuthMiddleware(request, session, metadata, spec):
auth_header = request.get_header(‘Authorization’)
if auth_header ==“12345”:
session.rate = 1000.0
session.per = 1.0
metadata[“token”] = “12345”
return request, session, metadata
else:
request.ReturnOverrides = {
“ResponseCode”: 400,
“ResponseError”: “Bad Request”
}
return request,metadata,session
but when i give the wrong Authorization token it still send the default responce {
“error”: “Key not authorised”
} where i am wrong??
Hi, ReturnOverrides
will currently take any status code higher than 400 as a bad authentication error.