How about we implement a the "login with" api as follows From the server side, you will verify the `id_token` with corresponding service. Please check oauth verificaion doc. ```haskell POST /v1/auth/social/signup ``` Request body: ```json= { "email": "example@example.com", "firstname": "Customer", "lastname": "Overseas", "service_token" : "token", "service" : "google" } ``` ```haskell POST /v1/auth/social/login ``` Request body: ```json= { "email": "example@example.com", "service_token" : "token", "service" : "google" } ``` service=['google', 'facebook', 'apple'] Now, when the social signed up user tries to login the app using email and password, as there is no password set, he should be promted that only social login is available (or you can throw invalid password as well)