- Newest
- Most votes
- Most comments
The "MissingAuthenticationTokenException" error you're encountering occurs because the HTTP/2 connection to Kinesis Video Streams (KVS) requires proper AWS authentication credentials. It can be a common issue when setting up video streaming with KVS. To solve this issues, I would recommend the following:
- Include AWS Credentials
- Your requests to KVS must include valid AWS credentials
- These credentials authenticate your service to access KVS resources
- Implement Request Signing
- All requests must be signed using AWS Signature Version 4 (SigV4)
- This signing process ensures request authenticity and integrity
- Configure IAM Permissions The Lambda function's execution role needs specific permissions:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesisvideo:PutMedia", "kinesisvideo:GetDataEndpoint" ], "Resource": "*" } ] }
Hi,
All AWS services require all client requests to be signed with SigV4 protocol: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html (Plain http won't work)
It is a quite sophisticated protocol: getting it right takes time (I tried ...).
So, it is much simpler to use the AWS SDK of your language to directly leverage its SigV4 implementation.
Since the AWS SDK is OSS and if you really need to implement SigV4 youself, I recommend to get the corresponding SigV4 implementation from our SDK of choice. (That's what I ended up doing...)
Best,
Didier
Thanks for answering,
I'm really new to this, do you know a place where I can see an example of how it is implemented?
Relevant content
- Accepted Answerasked 4 years ago
- asked 3 months ago
- asked 3 years ago
- asked 9 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 years ago
Thanks for answering, I'll try it