Closed zerokarafont closed 5 months ago
Hi @zerokarafont thanks for creating this issue. Were you able to take a look at our troubleshooting guide? It outlines two common reasons for seeing the 'Session not found' error. It looks like you're setting the region to us-east-1
, so double check that the backend is using the same region.
Let us know if the guide doesn't help, and we can debug further from there.
i am sure my lambda in the same region, the problem is it worked well on local dev, but not work when i deployed on aws. i have checked troublesshooting.
Even if the lambda is in the same region, it's still possible that the region is being set incorrectly in the API calls to Rekogniton. Can you look for this line in the lambda code and see which region is getting set?
const client = new RekognitionClient({ region: <region> });
If the above doesn't address your issue, can you try removing the FaceLivenessDetectorCore
component and making the StartFaceLivenessSession call with the using the AWS JS SDK instead? Like this. You can use the sessionId returned from fetchCreateLiveness
. (Removing the UI component will help us better diagnose a root cause.)
const stsClient = new STSClient({ region: 'us-east-1' })
,
const rekogClient = new RekognitionClient({ region: 'us-east-1' })
it's right in code. I got other helpful case, command GetSessionTokenCommand
works well locally but got Cannot call GetSessionToken with session credentials online.
package.json
"dev": "cdk synth --profile face-dev && sam local start-api --host 0.0.0.0 --port 9000 --container-host docker.for.mac.localhost --template cdk.out/*.template.json"
"deploy": "cdk deploy --profile face-dev --platform linux/amd64"
My CDK config
const stsPolicy = new iam.PolicyStatement({ actions: [ "sts:GetCallerIdentity", "sts:GetSessionToken" ], resources: ['*'], });
const rekognitionPolicy = new iam.PolicyStatement({ actions: ['rekognition:*'], resources: ['*'], });
fn.role?.attachInlinePolicy(new iam.Policy(this, 'FaceDev', { statements: [rekognitionPolicy, stsPolicy] }));
@zerokarafont Can you please try calling StartFaceLivenessSession from your frontend using the sessionId from your deployed lambda?
I tried, not work
@zerokarafont can send us what you tried and what error message you got, and we'll try to help you get it working.
i will try to reproduce a minimum repo tomorrow, much thanks.
@reesscot @esauerbo https://github.com/zerokarafont/aws-liveness-issue-replay , i made a replay repo please check thanks!
hello, any update?
Hi @zerokarafont looks like this repo is using the FaceLivenessDetectorCore
component. Can you attempt a reproduction without the UI component? You can use the StartFaceLivenessSession command to call the Recognition API directly using the session Id from fetchCreateLiveness
.
I believe you mentioned that you tried this and it didn't work, so if you're able to tell us what you tried and what error you got we can help from there.
This issue typically indicates a configuration issue, so using the StartFaceLivenessSession api directly will help us find the root cause.
@zerokarafont here's a sample repo showing how to make this API call. You'll likely need to make some modifications but can you try pulling this down and see if you get the same error? https://github.com/esauerbo/rekognition-sdk-repro/tree/main
You can retrieve the required credentials by going to Isengard -> Console Roles -> Click the copy button to access AWS console/temporary credentials
@esauerbo tried this repo https://github.com/esauerbo/rekognition-sdk-repro/tree/main, it works on my credential, but got error if i fill in sessionId from my lambda , it seems like prod configuration problem, i have already checked all cases, dont know how to fix it.
avoid using custom credentials provider
Before creating a new issue, please confirm:
On which framework/platform are you having an issue?
React
Which UI component?
Liveness
How is your app built?
Webpack
What browsers are you seeing the problem on?
Chrome
Which region are you seeing the problem in?
us-east-1
Please describe your bug.
I can run well with my local cdk nodejs api, however when i deploy api aws and access online api in my frontend, the Liveness component show this error: Session Not Found .
What's the expected behaviour?
At this point the FacelivenessDetection component should start scanning the face.
Help us reproduce the bug!
similar to https://github.com/aws-amplify/amplify-ui/issues/5043#issue-2170152040, the difference is i use custom credentials provider and my backend is aws cdk. I don't configure amplify cli becase the use of custom credentials provider. Even i configure amplify, the error still occurs.
Code Snippet
Console log output
Additional information and screenshots
No response