I am trying to figure out which strategy is fastest to implement and better for someone without aws experience. I have a rust backend API and a vue3 frontend. The backend is containerized and communicates with MySQL rds. I cannot decide what approach to use for user registration and authentication. Amazon seems to slowly replace cognito with amplify which seems too complicated and I don't have access to use amplify cli. I don't know if it's not worthy to just implement authentication and registration endpoints between vue rust and mysql but then I will also have to make sure to validate using emails. Is there a simpler approach using just cognito SDK and vue to get a token and then just validate it in the backend to allow to use the private endpoints?
I don't know if it's not worthy to just implement authentication and registration endpoints between vue rust and mysql
It'll be quicker - and I'd bet more secure - to use Cognito (or another IdP) than implementing authentication and registration yourself.
Is there a simpler approach using just cognito SDK and vue to get a token and then just validate it in the backend to allow to use the private endpoints?
I would recommend using OIDC rather than the Cognito SDK, unless you have a particular reason for using the SDK. There's wider library support for OIDC, it's pretty straightforward, and you're not tied to Cognito - you can swap it out for any OIDC IdP. At the end of the OIDC flow you get an ID token and an access token and you can validate and use these to authenticate and authorize users in your app.