DEV Community

Discussion on: Serverless authorizers - custom REST authorizer

 
hzburki profile image
Haseeb Burki

yep I have the latest version .. I deleted the stack via "sls remove" but I'm still confused why the APIGW authorizer didn't update.

I'm still stuck at the authorizer, it times out or returns 500 whenever I try to match the token in my database. I'm using Sequelize and AWS RDS (MySQL). I can't give you my private repo, but I'll duplicate the code in a public repo.

It would be great if you could help! Thanks

Thread Thread
 
hzburki profile image
Haseeb Burki • Edited

github.com/hzburki/serverless

This is code repo. It's connected to a new database. Two routes /users and /user, an authorizer is connected to /user.

Works fine on serverless-offline, but both endpoints timeout when deployed to AWS. Even if I set timeout to 30sec.

Help Please !

Thread Thread
 
piczmar_0 profile image
Marcin Piczkowski

thx, will try to have a look at it by the end of this week..possibly sooner.

Thread Thread
 
piczmar_0 profile image
Marcin Piczkowski

I checked your code, added a couple of logs and changes.
I tested on AWS and it works.
You can check my code here: github.com/piczmar/sls-test-author...

I'm not sure what was your problem. I can think of wrong DB connection details causing Sequilize to wait on connection. Can you make sure the correct env. variables are set on Lambda function?

image

Can you check my version and see if it helped?

Thread Thread
 
hzburki profile image
Haseeb Burki

I got the authorizer to work :D

The issue was with the principalId. I wanted to set the authenticated object as the principalId and add it in the request body, that way I would save an extra database query. Once I set the principalId to the token. The authorizer started working.

I have to query the authenticated user again in my controller, but I can live with that.

Thanks for your help.

Thread Thread
 
piczmar_0 profile image
Marcin Piczkowski

Glad to hear that :)