Given the following conditions:
What would be the best authentication strategy?
- Only use social providers
In this case:
- Use social providers in order to verify the user is real but use native token
In this case:
It seems to me that the second approach is much better because:
The biggest disadvantage to me is that we have to maintain multiple refresh/revoke mechanisms per each social providers instead of just one (our own).
It would be interesting what would be the best practice in such case.
Federated sign in feels like the best option, which should meet the goals you've described above:
As an example, here is a link to the AWS Solution, where each app can select the social providers it supports, and the default Cognito sign in option can be disabled if needed.