I solved this issue by creating a dedicated OAuth application on Github for my local development environment. So I have the following 2 OAuth applications:
-
My official OAuth application for production
- Client ID:
ABC - Client Secret:
123 - Authorization callback URL:
https://example.com/api/v1/security/oauth/github/callback
- Client ID:
-
My private OAuth application for development
- Client ID:
XYZ - Client Secret:
456 - Authorization callback URL:
https://localhost/api/v1/security/oauth/github/callback
- Client ID:
When I configure my API in local, I use the ID and secret of the development application (2). And in production I use the ID and secret of my official application (1).