Are you getting this error when you click on the Login button of the eShopOnContainers project? Or when you click on the Authorize button of a swagger page in that project?:
Sorry, there was an error : unauthorized_client
Here’s what solved it for me:
After running the application, open the SQL Server database (connect with SSMS to tcp:localhost,5433 with User Id=sa;Password=Pass@word;)
Then look at the ClientRedirectUris table in the Microsoft.eShopOnContainers.Service.IdentityDb database, using this script:
SELECT * FROM [Microsoft.eShopOnContainers.Service.IdentityDb].[dbo].[ClientRedirectUris]
| Id | RedirectUri | ClientId |
| 1 | http://host.docker.internal:5109/swagger/oauth2-redirect.html | 6 |
| 2 | http://host.docker.internal:5110/swagger/oauth2-redirect.html | 7 |
| … | … | … |
| 11 | http://10.121.122.162:5105/xamarincallback | 2 |
| 12 | http://host.docker.internal:5104/ | 1 |
Note the host.docker.internal in that table
Open the eShopOnContainers/src/.env file. You will see this in about line #7:
# Use this values to run the app locally in Windows
ESHOP_EXTERNAL_DNS_NAME_OR_IP=docker.for.win.localhost
ESHOP_STORAGE_CATALOG_URL=http://docker.for.win.localhost:5202/c/api/v1/…
ESHOP_STORAGE_MARKETING_URL=http://docker.for.win.localhost:5110/api/v1/…
Change the docker.for.win.localhost into host.docker.internal like this:
# Use this values to run the app locally in Windows
ESHOP_EXTERNAL_DNS_NAME_OR_IP=host.docker.internal
ESHOP_STORAGE_CATALOG_URL=http://host.docker.internal:5202/c/api/v1/…
ESHOP_STORAGE_MARKETING_URL=http://host.docker.internal:5110/api/v1/…
Open the MVC Web app using http://host.docker.internal:5100/ instead of http://localhost:5100/
Then click on the Login button…
Tada!!!