CORS/samples
Ryan Brandenburg 69e5a8c599 Upgrade to netcoreapp22 2018-05-07 16:24:17 -07:00
..
SampleDestination Upgrade to netcoreapp22 2018-05-07 16:24:17 -07:00
SampleOrigin Upgrade to netcoreapp22 2018-05-07 16:24:17 -07:00
README.md README formatting fixed 2016-11-23 14:17:09 -08:00

README.md

CORS Sample

This sample consists of a request origin (SampleOrigin) and a request destination (SampleDestination). Both have different domain names, to simulate a CORS request.

Modify Hosts File

To run this CORS sample, modify the hosts file to register the hostnames destination.example.com and origin.example.com.

Windows:

Run a text editor (e.g. Notepad) as an Administrator. Open the hosts file on the path: "C:\Windows\System32\drivers\etc\hosts".

Linux:

On a Terminal window, type "sudo nano /etc/hosts" and enter your admin password when prompted.

In the hosts file, add the following to the bottom of the file:

127.0.0.1	 destination.example.com
127.0.0.1	 origin.example.com 

Save the file and close it. Then clear your browser history.

Run the sample

The SampleOrigin application will use port 5001, and SampleDestination will use 5000. Please ensure there are no other processes using those ports before running the CORS sample.

  • In a command prompt window, open the directory where you cloned the repository, and open the SampleDestination directory. Run the command: dotnet run
  • Repeat the above step in the SampleOrigin directory
  • Open a browser window and go to http://origin.example.com:5001
  • Input a method and header to create a CORS request or use one of the example buttons to see CORS in action

As an example, apart from GET, HEAD and POST requests, PUT requests are allowed in the CORS policy on SampleDestination. Any others, like DELETE, OPTIONS etc. are not allowed and throw an error. Cache-Control has been added as an allowed header to the sample. Any other headers are not allowed and throw an error. You may leave the header name and value blank.

To edit the policy, please see app.UseCors() method in the Startup.cs file of SampleDestination.

If using Visual Studio to launch the request origin: Open Visual Studio and in the launchSettings.json file for the SampleOrigin project, change the launchUrl under SampleOrigin to http://origin.example.com:5001. Using the dropdown near the Start button, choose SampleOrigin before pressing Start to ensure that it uses Kestrel and not IIS Express.