Verifying a Bluesky Domain Handle on a FastHTML Site

I just changed my Bluesky to [@audrey.feldroy.com](https://bsky.app/profile/audrey.feldroy.com). To verify my domain ownership, I added this route handler to my FastHTML website:

from fasthtml.common import *
@rt('/.well-known/{fname}')
def wellknown(fname: str):
    return Path(f'.well-known/{fname}').read_text()

In my website's repo arg-blog-fasthtml I created a .well-known directory.

Within that, I created a file called atproto-did, containing the verification text string shown under:

https://bsky.app/settings/account > Change Handle > I have my own domain > No DNS Panel

Then I redeployed my site and clicked the Verify Text File button, and my handle was updated.

A Full Minimal FastHTML App for This

If you have a domain but no website yet, here's a FastHTML app for verifying your domain as your Bluesky handle:

from fasthtml.common import *

app,rt = fast_app()

@rt
def get(): return Div(P("Welcome to my homepage!"))

@rt('/.well-known/{fname}')
def wellknown(fname: str):
    return Path(f'.well-known/{fname}').read_text()

serve()

Then add the .well-known/atproto-did file, deploy, and verify.