thanks for all the input guys! so I’m considering 1 of 2 options now
1. Use API Gateway API Keys
a. I’ll manually create API Keys for customers
b. In my DB I’ll have a table for customers, and a second table mapping the customers to any existing API Keys for them
c. When I create API Keys I’ll add them to the mapping table
d. API Gateway will ensure incoming requests have a valid key
e. Then I’ll look up the customer by API Key in the DB
2. AWS pointed me to Cognito OAuth Credentials Grant
a. In this flow, I create a new App Client for each customer in my identity pool
b. Customers will use the Cognito API to get a token using their Client ID and Secret
c. Incoming requests will use a token and custom authorizer, providing me with the Client ID
d. Then I’ll look up the customer in my DB by Client ID (no need for a mapping table in this case)
does that sound right? I’m leaning towards option 1