DEV Community

Frederik Van Lierde
Frederik Van Lierde

Posted on

1

Verify User Ownership of a Website with dotNet

When you have a service that users can use on their website, and you want to verify the site ownership. Ownership verification means proving to your platform that the user owns a specific website.

Ex. Google ask to verify your website when linking to Google Search Console

How To Verify site ownership?

Verify ownership of a site by uploading a special HTML file to a specific location on your site. This file is tied to a specific user.

Pre-Requisites

The Code

Part 1: Create the verficatonCode

GetVerifyFileInfo() will return the information to create the file.

The layout part is only to showcase what you can show to the user

using CodeHelper.Tools.VerifyWebsite;

WebSiteHelper _verifier = new() { WebsiteUrl = "https://thedomain.com" };
//-- Get the fileName, fileUrl and fileContent
var (verifyFileName, verifyFileUrl, verifyContent) = _verifier.GetVerifyFileInfo();

//-- Save the contentCode (which will be needed in the second part )
var _saveVerifyCode = _verifier.VerifyCode; //-- Save this code

//-- Layout (Use the variables to return the information to the user)
Console.WriteLine("Copy the html file to the root of your website");
Console.WriteLine("Filename: " + verifyFileName);
Console.WriteLine("Content: " + verifyContent);

Console.WriteLine(Environment.NewLine);
Console.WriteLine($"Check that {verifyFileUrl} is accessible");
Console.WriteLine($"Click Verify WebSite");
Enter fullscreen mode Exit fullscreen mode

Part 2: The user has copied the file to the root directory of the domain

_verifier = new() { WebsiteUrl = "https://thedomain.com", 
                    VerifyCode = _saveVerifyCode };
if (await _verifier.VerifyWebSite())
    Console.WriteLine("Your website is verified"); //-- Your Next Code
else
    Console.WriteLine("We could not verify your website");

Enter fullscreen mode Exit fullscreen mode

Next (Roadmap)

  • Function to download the file directly.
  • Verification via meta tag
  • Verification via DNS

Don't forget to follow me for updates
Check out my all my NuGet Packages

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more