公式: Blueskyでのハンドルへのドメインの設定方法

Protocol/AT Protocol
概要

2023-04-28にBluesky公式ブログで「How to set your domain as your handle – Bluesky」の記事が投稿されたので紹介します。

これまではBluesky TeamかCEOのJay Graberの投稿が中心でしたが、今回はEmily Liuという別の人物の投稿でした。

記事: Blueskyでのハンドルのドメイン名 | GNU social JP」で最初に告知された本人認証を兼ねる、ハンドルへのドメインの設定手順でした。「アプリ: Blueskyの公式Androidアプリの公開 | GNU social JP」でGIGAZINEによる解説記事も紹介していました。

この手の具体的なノウハウ系の記事は公式記事としては初めてだと思います。

Why does Bluesky use domains as handles, and why would I want to use a domain as my handle?

独自ドメイン (custom domain) はWebサイトを識別する一意の名前です。

AT Protocolはハンドルにドメインを使用可能にしています。AT Protocolでは以下の理由でドメインを使用するように設計されました。

  • 識別: ハンドルをBluesky上でexample.comに設定したとします。AT Protocol上の全アプリケーションで同じハンドルを使えます。
  • 検証: Webサイトには既に検証の長い歴史があるため、ドメインの利用はその権威を借りることになります。
  • 移植性: 別のサーバーに切り替える際に、ドメインをハンドルとして使用している場合、ハンドルをサーバーベースのものから切り替える必要はありません。

独自ドメインはドメイン業者から購入できます。ただ、これは必須ではありません。Bluesky参加時にはBluesky社のドメイン (@[name].bsky.social形式) を使用できます。

Mastodonでの本人認証「機能: Mastodonでの本人認証 | GNU social JP」と同じような本人認証の意味があるようです。

How do I set this custom domain as my handle?

@atproto.comを例に設定方法を紹介します。なお、デフォルトのBlueskyユーザー名 (.bsky.social) を独自ドメインに変更すると、古いユーザー名を他のユーザーが使用可能になります。ただし、古いハンドル名のタグやメンションは引き続きあなたのアカウントを指します。

1. サイドメニュー-[Settings]-[Advanced]-[Change my handle] を選びます。

2. [I have my own domain.] を選びます。

3. DNSレコードに追加が必要な以下のような情報が表示されます。

  • Domain: _atproto.
  • Type: TXT
  • Value: did=did:plc:[各自の値]

DNSのTXTレコードにdidを指定するようです。

4. ドメイン業者のDNSレコードに上記をTXTレコードに追加します。

5. TXTレコードに追加する際のDIDは公開情報です。

6. TXTレコードを追加したら反映されるまで数分待機します。Blueskyの設定画面で [Verify DNS Record] を選んで更新されているかを確認します。

7. ハンドルへの独自ドメインの設定完了です。

How can I set and manage multiple subdomain handles?

2023-05-27T19:30+09:00 Sat追記。以下の投稿で、複数のサブドメインの処理の方法のこの節の追加が告知されました。

avatar
Okay now that y’all have had your fun 😉 … we moved HTTP handle resolution to a .well-known route. We updated instructions for how to manage subdomains at the bottom of this blog post: https://blueskyweb.xyz/blog/4-28-2023-domain-handle-tutorial
avatar
We’ll continue to support the old XRPC method until Wed. June 7. After we deprecate the old method, accounts with custom subdomain handles that haven’t been updated will still be safe — we’ll just provide an in-app option for you to pick a new handle.

ニュースルームや企業などの組織の場合、サブドメインで複数の個人の本人認証をしたい場合があります。これをTXTレコードで多数のアカウントに行うのは手間になります。その対策として、DNSを使わずに、.well-knownルートのHTTP経由で複数のハンドルを処理できます。ただ、これは開発者向けの内容になります。

DNS TXTレコードの代わりに、[https://${handle}/.well-known/atproto-did] から各アカウントのDIDを返します。期待されるペイロードは、Content-Type: text/plainのDID (例: did:plc:abcdef…) です。ハンドル名解決はHTTTP 200 OKを期待します。

以下がハンドル解決の実装例です。

async function resolveHandle(handle: string) {
  const res = await fetch(`https://${handle}/.well-known/atproto-did`)
  const did = await res.text()
  assert(typeof did === 'string' && did.startsWith('did:'))
  return did
}

ハンドルが無効になっても、データは引き続き安全です。投稿やフォロワーを失うことはありません。

結論

Bluesky公式でのハンドルへの独自ドメインの設定方法の解説記事でした。

こういう具体的なノウハウ解説記事は初めてだったと思います。最初のハンドルへの独自ドメインの設定対応告知時に一緒に紹介すればよかったのではないかと思いますが、最近ユーザーが増えて説明が必要になったから公式記事として投稿したのかもしれません。

手順自体はDNSレコードに値を追加するだけという簡単なものでした。ただ、デフォルトの.bsky.socialのハンドルを保有した状態で独自ドメインに変えると、古いハンドルが解放されて他者に奪われてなりすましのようなことが可能になります。

最初から使わないか、できれば招待コードのスペアで、変更後に自分で古いハンドルも確保しておいた方が安全かもしれません。

Comments

  1. This Article was mentioned on web.gnusocial.jp

Copied title and URL