前々から通知は来ていたのですが、 npm で2要素認証を有効にすることにしました。
大した話ではないですが、検索しても記事がヒットしなかった上に公式ドキュメントも自分が目の当たりにした画面と微妙に項目が変わっていた(といっても順番が入れ替わっていただけですが)のでメモしておこうかと。
手順
まずは npm にログイン。なお、この時点でも現在はワンタイムパスワードを求められるので、アカウント登録時に使用したメールを確認してワンタイムパスワードを入力してログインすること。
アカンとのメニューから「Account」を選択。
アカウントの管理画面から 「Enable 2FA」 をクリックして次へ。
一番厳重な「Authorization and Publishing」のラジオボタンを選択しておきます。これでログイン時のみだけではなくパッケージ公開時も2要素認証が求められるようになります。
秘密鍵をQRコードから読み込みます。
リカバリーコードを控えます。これでOK。
パッケージ公開の際の2要素認証
これでパッケージ公開をしてみます。
今回はfacebook埋め込み に対して埋め込みの成否により代替リンクを生成する JS パッケージで試します。
> npm login
npm notice Log in on https://registry.npmjs.org/
Username: YOURNPMUSERNAME
Password:
Email: (this IS public) your-mail-address@example.com
npm notice Please use the one-time password (OTP) from your authenticator application
Enter one-time password: XXXXXX
Logged in as arm-band on https://registry.npmjs.org/.
>
one-time password で訊いてきましたね。OKです。
> npm pack
npm notice
npm notice 📦 cajonfb@0.0.1
npm notice === Tarball Contents ===
npm notice 1.2kB __tests__/cajohfb.alto.test.js
npm notice 605B __tests__/cajohfb.constructor.test.js
npm notice 866B __tests__/cajohfb.corrente.test.js
npm notice 700B __tests__/cajohfb.fantasma.test.js
npm notice 1.6kB __tests__/cajohfb.feroce.test.js
npm notice 590B __tests__/cajohfb.mezzosoprano.test.js
npm notice 464B __tests__/cajohfb.piano.test.js
npm notice 912B __tests__/cajohfb.polonaise.test.js
npm notice 627B __tests__/cajohfb.undeux.test.js
npm notice 401B .github/workflows/ci_unittest.yml
npm notice 1.0kB LICENSE
npm notice 2.4kB docs/index.html
npm notice 170B docs/js/app.js
npm notice 5.8kB docs/js/cajon.js
npm notice 86B jest.config.js
npm notice 385B package.json
npm notice 1.6kB readme.md
npm notice 993B sample/alto/assert.js
npm notice 2.9kB sample/corrente/assert.js
npm notice 1.4kB sample/corrente/exception.js
npm notice 1.4kB sample/fantasma/assert.js
npm notice 1.4kB sample/fantasma/exception.js
npm notice 2.9kB sample/feroce/assert.js
npm notice 1.4kB sample/mezzosoprano/assert.js
npm notice 1.4kB sample/mezzosoprano/exception.js
npm notice 2.9kB sample/piano/assert.js
npm notice 2.9kB sample/polonaise/assert.js
npm notice 2.9kB sample/undeux/assert.js
npm notice 5.8kB src/cajon_fb.js
npm notice === Tarball Details ===
npm notice name: cajonfb
npm notice version: 0.0.1
npm notice filename: cajonfb-0.0.1.tgz
npm notice package size: 7.3 kB
npm notice unpacked size: 49.3 kB
npm notice shasum: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
npm notice integrity: sha512-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
npm notice total files: 30
npm notice
cajonfb-0.0.1.tgz
npm pack
で試してから
> npm publish
npm notice
npm notice 📦 cajonfb@0.0.1
npm notice === Tarball Contents ===
npm notice 1.2kB __tests__/cajohfb.alto.test.js
npm notice 605B __tests__/cajohfb.constructor.test.js
npm notice 866B __tests__/cajohfb.corrente.test.js
npm notice 700B __tests__/cajohfb.fantasma.test.js
npm notice 1.6kB __tests__/cajohfb.feroce.test.js
npm notice 590B __tests__/cajohfb.mezzosoprano.test.js
npm notice 464B __tests__/cajohfb.piano.test.js
npm notice 912B __tests__/cajohfb.polonaise.test.js
npm notice 627B __tests__/cajohfb.undeux.test.js
npm notice 401B .github/workflows/ci_unittest.yml
npm notice 1.0kB LICENSE
npm notice 2.4kB docs/index.html
npm notice 170B docs/js/app.js
npm notice 5.8kB docs/js/cajon.js
npm notice 86B jest.config.js
npm notice 385B package.json
npm notice 1.6kB readme.md
npm notice 993B sample/alto/assert.js
npm notice 2.9kB sample/corrente/assert.js
npm notice 1.4kB sample/corrente/exception.js
npm notice 1.4kB sample/fantasma/assert.js
npm notice 1.4kB sample/fantasma/exception.js
npm notice 2.9kB sample/feroce/assert.js
npm notice 1.4kB sample/mezzosoprano/assert.js
npm notice 1.4kB sample/mezzosoprano/exception.js
npm notice 2.9kB sample/piano/assert.js
npm notice 2.9kB sample/polonaise/assert.js
npm notice 1.7kB sample/polonaise/exception.js
npm notice 2.9kB sample/undeux/assert.js
npm notice 5.8kB src/cajon_fb.js
npm notice === Tarball Details ===
npm notice name: cajonfb
npm notice version: 0.0.1
npm notice filename: cajonfb-0.0.1.tgz
npm notice package size: 15.3 kB
npm notice unpacked size: 56.6 kB
npm notice shasum: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
npm notice integrity: sha512-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
npm notice total files: 30
npm notice
npm notice Publishing to https://registry.npmjs.org/
This operation requires a one-time password.
Enter OTP: XXXXXX
+ cajonfb@0.0.1
>
公開。最後に Enter OTP
で訊かれているので意図通りです。