ログイン拡張機能 (NIP-07)を使ってみよう

Nostrクライアントアプリを探していると、「拡張機能でログイン」や「Login with Extension」という表記やボタンを見かけることがあると思います。

これは、アプリに直接秘密鍵を入れる代わりに、秘密鍵の保存と取り扱いをブラウザ拡張機能(NIP-07)に集約することで、多種多様なクライアントアプリを安全に使えるようにする仕組みです。

アプリによっては、この拡張機能がないとそもそも利用できないこともあります。

よく知られている拡張機能には以下があります。

ここでは nos2x と Nostore の導入手順と使用方法についてステップバイステップで説明していきます。

  • Nostore は iOS Safari 向けの拡張機能です。
  • nos2x (Firefox の場合は nos2x-fox) は PC 版 Microsoft Edge/Chrome/Firefox および Android 版 Firefox/Kiwi Browser 向けの拡張機能です。

nos2x/nos2x-fox (PC/Android)

導入手順

を開き、「インストール」ボタンをクリックします。
以降の手順は、Microsoft Edgeを使用した場合を例示します。

ストア画面

これが出た場合は「許可」をクリックします。

インストールダイアログ1

「拡張機能の追加」をクリックします。

インストールダイアログ2

インストール完了ダイアログ

正常にインストールされたら、拡張機能ボタン(パズルのピースのマーク)をクリックします。 nos2xの横の「・・・」をクリックし、「拡張機能のオプション」

メニュー

すでに秘密鍵を持っている人は、「private key:」の欄に入力してください。
もし今から新しいアカウントが欲しい場合は、「generate」ボタンをクリックします。

設定画面

秘密鍵を入力、または新規作成したあと、「Save」ボタンがクリックできるようになります。
必ずクリックしてください。

設定保存ボタン

これで登録作業は完了です。

使い方

ログイン時

例えばRabbitopen in new windowを開くとこのような表示が出ます。

公開鍵読み出しダイアログ

「ログインのためにアプリケーションに公開鍵を渡してもよいか?」という通知で、

  • authorize forever (常に許可)
  • authorize just this (今回だけ許可)
  • reject forever (常に拒否)
  • reject (今回だけ拒否)

から選択します。

基本的に「authorize forever」(常に許可)で大丈夫です。

投稿時

何かを投稿したりリアクションしようとしたときにも、以下のような表示が出ます。

署名ダイアログ

こちらは「あなたのアカウントで投稿(署名)してよいか?」という通知なので、

  • authorize forever (常に許可)
  • authorize kind 1 forever (短文投稿(kind 1)のみ常に許可)
  • authorize just this (今回だけ許可)
  • reject kind 1 forever (短文投稿(kind 1)のみ常に許可)
  • reject (今回だけ拒否)

から選択します。

基本的に「authorize forever」(常に許可)または、「authorize just this」(今回だけ許可)を選択します。

使い方は以上です。

Nostore (iOS)

導入手順

ここのアプリストアリンクopen in new windowまたは、App Storeを開いて「Nostore」で検索してください。

ストア画面

インストールが終わったら、「設定」アプリを開きます。

設定アイコン

設定アプリ内の「Safari」をタップします。

設定画面

「機能拡張」をタップします。

Safari設定画面

「Nostore」をタップします。

拡張機能の有効化画面

「機能拡張を許可」をタップします。

拡張機能の有効化画面(無効)

これで有効化されました。

拡張機能の有効化画面(有効)

秘密鍵の設定は、利用時に行います。

使い方

ログイン時

例えばRabbitopen in new windowを開くとこのような表示が出ます。 ブラウザのコンテキストメニュー「ぁあ」をタップします。

Safari(Rabbit)の画面

「Nostore」をタップします。

ブラウザのコンテキストメニュー

確認メッセージが出ますので、好きな方を選択します。 おすすめは、「常に許可...」です。

iOS拡張機能の確認1

「常に許可...」を選択した場合、さらに確認メッセージが出ますので、好きな方を選択します。
おすすめは、「このWebサイトで常に許可」です。

iOS拡張機能の確認2

ここまでの操作は、(選択肢によりますが)nostrを使いたいサイト1つごとに設定が必要です。

初回利用時は、続いてアカウント(秘密鍵)の設定に入ります。

Nostoreの設定画面が出るので「Settings」をタップします。

Nostore設定画面

新しいタブが開き、詳細設定画面になります。

すでに秘密鍵を持っている人は、「Private Key:」の欄を消して自分の鍵を入力してください。
もし今から新しいアカウントが欲しい場合は、何もせずそのままタブを閉じます。

Nostore詳細設定画面

秘密鍵を入力したあとは、「Save」ボタンがクリックできるようになります。
必ずタップしてください。

ここまでで初回設定は完了です

タブを閉じるか戻ってください。

Safariタブ

Webサイトの画面に戻ると

Nostore公開鍵読み込みダイアログ

このような画面が出ます。(出ない場合は、サイトを開き直してください)。

「ログインのためにアプリケーションに公開鍵を渡してもよいか?」という通知で、 基本的に「Remember selection」(この選択を毎回使用する)をタップしてチェックを付けてから、「Allow」(許可)を選択します。

(チェックを付けない場合、何度も何度も出ることがあります。)

もしこのような画面になった場合は、「NIP-07 拡張機能でログイン」を再度タップしてから、許可を再度行います。

Rabbit NIP-07画面

投稿時

何かを投稿したりリアクションしようとしたときにも、以下のような表示が出ます。

Nostore署名ダイアログ

基本的に「Remember selection」(この選択を毎回使用する)をタップしてチェックを付けてから、「Allow」(許可)を選択します。

使い方は以上です。