Blueskyで独自ドメインをハンドルネームにする方法。
Blueskyのアカウントのハンドルネーム(デフォルトでは「@任意の名前.bsky.social」)を自分が保有する独自ドメイン(「@ag2works.tokyo」など)に変更する方法。忘れるのでメモ。
※ ハンドルネームにサブドメイン(「@memo.ag2works.tokyo」など)は設定できるが、サブディレクトリ(「@ag2works.tokyo/memo/」など)は設定できない。
※ Bluesky公式のデバッグツールで、ドメインを設定したハンドルネームの認証状況を確認できる。(ドメイン設定後に正しく反映されない場合に、そのエラー内容が表示される。)
ドメイン使用の概要
1. ドメイン使用の概要
Blueskyで独自ドメインをハンドルネームに使用する技術の簡単な概要。
- Blueskyは「AT Protocol」(Authenticated Transfer Protocol)という通信プロトコルで構築されている分散型SNSのアプリケーション。(高度なセキュリティー技術によって複数のサーバーでデータを分散して管理する手法。)
- 「AT Protocol」を使用したアプリケーション間では、連合型ネットワーク(federated networking model)という考え方に基づき、データのリポジトリー(PDS : Personal Data Repositories)が共用される。
- ユーザーのアカウント情報を異なる複数のアプリケーションで共有できるので、アプリケーションごとのアカウント作成が不要。
- 「AT Protocol」では、「DID」(Decentralized Identifiers)という一意で不変の固有識別子によってユーザーアカウントの情報が管理される。(「DID」がユーザーの固有IDの役割を果たす。)
- 「アプリケーションやその運用サーバーの移動に依らず、ユーザーは常に同じハンドルネームを他人と重複すること無く使用できる」、更に「ドメイン(既存Webサイト)が持つ信頼度を引き継げる」という有用性から、Blueskyでは独自ドメインが設定できるようになっている。
- 自分のアカウントの「DID」と自分が保有する独自ドメインを紐づけることで、Blueskyのハンドルネームにドメインを設定することができる。
- ドメイン設定に必要な記述に出てくる「did:plc:ユーザー固有の値」の「plc」は「placeholder」から引用された文字列で、ハッシュを使用した認証を指定する「DID」のメソッド。(Blueskyにとって望ましいメソッドが無いために策定されたメソッドで、将来的に別のメソッドに代替される可能性が示唆されているが、後方互換を考慮することも示されている。)
※ AT Protocolの概要についての公式ドキュメント。
※ DIDについてのW3Cの公式ドキュメント。
※ DIDについてのAT Protocolの公式ドキュメント。
※ DIDのPLCメソッドについての公式ドキュメント。
2. ドメイン使用の注意点
Blueskyのハンドルネームを変更した場合の旧ハンドルネームの扱い。
※ ユーザーネームは他人と重複できるが、ハンドルネームは重複できない。
- それまで使用していたデフォルトのハンドルネーム(「@任意の名前.bsky.social」)は空きになり、他の誰でも登録できる状態になる。
- ハンドルネームを変更する前にすでにタグ付けやメンションされていた投稿内にあるハンドルネームは、変更後も自分のアカウントに紐づけられたままになる。
ドメインの設定方法
Blueskyのハンドルネームに自分が保有する独自ドメインを設定する方法は下記2つのいずれか。
- DNSレコードで設定 : 自分の「DID」情報を、保有ドメインのDNSレコードに設定する方法。
契約しているドメイン取得サービスの管理画面でDNSレコード設定の作業が必要。(サーバーは不要。) - ファイル認証で設定 : 自分の「DID」情報を記述したファイルを、保有ドメインが紐づいているサーバーに設置する方法。
ドメインのURLでアクセスできるWebサーバー(Webサイト)が必要。(DNSレコードの設定作業は不要。)
※ DNSレコードの方法はレコードの変更がネットワークに反映されるまで時間が掛かる場合があるが、ファイル認証の方法はWebサーバーにファイルを配置した時点ですぐに認証できる。
1. DNSレコードで設定する方法
保有ドメインのDNSレコードに、Blueskyのアカウント情報で取得できる「DID」の記述を設定する。
※ 「Blueskyへのログイン」と「保有ドメインの管理サービスの管理画面へのログイン」が必要。
DNSレコード
DNSのレコードとは、ドメインの名前解決に必要な情報として記述された内容のこと。
レコードとして記述された内容の種類に応じて、「A」、「CNAME」、「TXT」などレコードタイプを指定する必要がある。
例えば、「Aレコード」ならIPv4でホスト名とIPアドレスの関連づけを定義するための記述、「TXTレコード」ならホスト名に関連付けるテキスト情報(文字列)を定義するための記述であるということを意味する。
[ DNSレコードでのドメイン設定作業 ]
- Blueskyにログインして、メニュー内の「Settings」(設定)を開く。(アプリでもブラウザでも同じ。)
- 下の方にスクロールして、「Advanced」(高度な設定)のセクションにある「Change Handle」(ハンドルを変更)を開く。
- ポップアップ画面が開かれるので、その中の「I have my own domain」(自分のドメインを持っています)のリンクをクリック。
- 設定に必要な情報が表示されるので、「Value:」の項目にある「did=did:plc:ユーザー固有の値」をコピーする。(下にある「Copy Domain Value」ボタンで「Value」の値だけコピーできる。)
- Blueskyの画面はそのままにして、ブラウザで保有ドメインの管理画面を開く。
- ドメインの設定ページに行き、レコード値をカスタム設定する。(設定方法や項目名はドメイン管理サービスごとに多少異なる。)
「ホストドメイン名」は「_atproto」、「レコードタイプ」は「TXT」、「内容」はコピーした「did=did:plc:ユーザー固有の値」を指定する。(設定後にネットワーク上で反映されるまで数分掛かる場合がある。) - Blueskyの画面に戻り、一番上のハンドルネームを入力する「@」の欄に自分のドメインを入力する。
- 一番下の「Verify DNS Record」ボタンをクリックして完了。
- アカウントのハンドルネームが変更されているのを確認する。(反映にはアプリの再起動が必要な場合もある。)
[ サブドメインを使用する場合 ]
- ドメインのレコード設定で「ホストドメイン名」に「_atproto.任意のサブドメイン」を指定する。
- Blueskyのハンドルネーム入力欄にサブドメイン込みでドメインを入力する。
例: レコード設定で「_atproto.memo」を指定して、「memo.ag2works.tokyo」をハンドルネームに入力する。
2. ファイル認証で設定する方法。
Webサーバーに「.well-known」ディレクトリを作成し、そのディレクトリにBlueskyのアカウント情報で取得できる「DID」を記述したファイルを認証用ファイルとして配置する。
※ 「Blueskyへのログイン」と「保有ドメインが紐づいているサーバーのアクセス」が必要。
.well-known
「.well-known」ディレクトリは、主に、SSL証明書の発行手続きの中でファイル認証で所有権の確認を行うとき、認証ファイルを設置するディレクトリとして使用される。
「Well-Known Uniform Resource Identifiers」として「RFC 8615」で定義されている。
「.well-known」ディレクトリは「well-known locations」と呼ぼれる。
[ ファイル認証でのドメイン設定作業 ]
- Blueskyにログインして、メニュー内の「Settings」(設定)を開く。(アプリでもブラウザでも同じ。)
- 下の方にスクロールして、「Advanced」(高度な設定)のセクションにある「Change Handle」(ハンドルを変更)を開く。
- ポップアップ画面が開かれるので、その中の「I have my own domain」(自分のドメインを持っています)のリンクをクリック。
- 設定に必要な情報が表示されるので、一番上のハンドルネームを入力する「@」の欄に自分のドメインを入力する。(サブドメインでも可。)
- すぐ下の「No DNS Panel」ボタンをクリックして表示を切り替える。
- PCのデスクトップなど任意の場所に、拡張子無しで「atproto-did」という名前にしたファイルを新規作成し、エディターで開く。
- 開いた「atproto-did」ファイルに、Blueskyの「That contains the following:」の項目にある「did=did:plc:ユーザー固有の値」をコピーペーストする。(すぐ下にある「Copy File Contents」ボタンでコピーできる。)
- 「atproto-did」ファイルを保存して閉じる。
- 「atproto-did」ファイルを、Blueskyの「Upload a text file to:」(テキストファイルのアップロード先)の項目に記載されているURLに該当するサーバーのディレクトリにアップロードする。(ブラウザでこのURLにアクセスすると「atproto-did」ファイルの内容が表示される状態にする。)
- Blueskyの画面に戻り、一番下の「Verify Text File」ボタンをクリックしてファイル認証を実行。
- 認証エラーが無ければ、画面右上に表示される「Save」(保存)をクリックして完了。
- アカウントのハンドルネームが変更されているのを確認する。(反映にはアプリの再起動が必要な場合もある。)
- 認証完了後の「atproto-did」ファイルは不要なのでサーバーから削除する。
※ 不定期にチェックされているのかアプリ更新のタイミングか不明だが、認証完了してから「atproto-did」ファイルを削除した場合、一定期間後に認証エラーでドメイン表示されなくなっていたので、「atproto-did」ファイルをサーバーに常設しておくか、適宜再配置して再認証する必要がある。(公開鍵なので常設しておいても特に問題無さそう。)
- How to set your domain as your handle
- DNS レコード編
- .well-known 編
- 【ドメイン】DNSレコード設定の各レコードの意味を教えてください。
- Well-known URI
https://memo.ag2works.tokyo/post-5834/
Blueskyで独自ドメインをハンドルネームにする方法。 | memo メモ [AG2WORKS]
<a href="https://memo.ag2works.tokyo/post-5834/" target="_blank" rel="noopener">Blueskyで独自ドメインをハンドルネームにする方法。 | memo メモ [AG2WORKS]</a>
この記事へのコメント
コメントの書き込みはまだありません。