アプリを使った 2段階認証 (2FA) を分かりやすく整理する

使いながらもなんか

ややこしい。

セキュリティ的に向上するのは分かるが、なんか

面倒くさい。

なので、一度整理してスッキリしておきます。

 

🔑 2段階認証 (2FA) とは

これまでのログイン。

アプリを使った 2段階認証 (2FA) を分かりやすく整理する

IDパスワード を入力してログインします。

そして、2段階認証。

アプリを使った 2段階認証 (2FA) を分かりやすく整理する

IDパスワード に加えて ワンタイムパスワード を入力してログインします。

 

🔑 ワンタイムパスワード

ワンタイムパスワード は、シークレットキー を保存している ワンタイムパスワード生成アプリ で生成します。

アプリを使った 2段階認証 (2FA) を分かりやすく整理する

シークレットキーワンタイムパスワード生成アプリ 内に保存しておくことになります。

アプリを使った 2段階認証 (2FA) を分かりやすく整理する

 

🔑 シークレットキー

シークレットキー は、ログインしたいサービス のサイトやアプリから発行されます。

そのサービスの 設定画面などから 2段階認証 を ON にして発行します。

アプリを使った 2段階認証 (2FA) を分かりやすく整理する

 

🔑 まとめ

以上の図をまとめておきます。

左(水色)が ログインしたいサービス で、右(灰色)が ワンタイムパスワード生成アプリ です。

例えば、水色が Twitter で、灰色が Google認証システムアプリ(Autenticator)
アプリを使った 2段階認証 (2FA) を分かりやすく整理する

👉 Google 認証システム - Google Play のアプリ hatena-bookmark

それぞれの要素の意味合いを把握できていれば、画面遷移やサービスによる言葉の変化にも対応して読み替えることができます。

SMS(ショートメール) を使った2段階認証で受信するテキストの意味も分かると思います。


【Chrome】ChatGPT エクステンション で表示できない画面がある

なんか最近真っ白で表示されない画面が多いのですが。

例えばこの画面。

ChatGPT for Search Engines

👉 Twitterの2要素認証(2FA)を使用する方法 hatena-bookmark

Chrome の incognito window や Safari では、正常に表示されます。

incognito window chrome

何なんでしょうか。

 

■ ChatGPT for Search Engines を OFF にすると表示された。

状況からして、Chrome のエクステンションのどれか、です。

調べた結果これでした。

ChatGPT for Search Engines

👉 ChatGPT for Search Engines - Chrome Web Store hatena-bookmark

Chrome の設定から、ChatGPT for Search Engines を OFF にすると表示されます。

ChatGPT for Search Engines

OpenAI 公式のエクステンションなのですが、どうかして欲しいです!

👉 ChatGPT for Search Engines hatena-bookmark


【Android】Version Catalog + JetpackCompose UI + BOM

Compose の BOM。

【Android】Version Catalog + JetpackCompose UI + BOM
👉 Google's Maven Repository hatena-bookmark

公開されているので使ってみます。

少し公式ドキュメントで調べておきます。

BOM の使用は義務ですか?

いいえ。個々の依存関係バージョンを手動で追加することもできます。しかし、すべての最新の安定版を同時に使用することが容易になるので、BOM を使用することをおすすめします。

Compose Compiler ライブラリが BOM に含まれていないのはなぜですか?

Compose Kotlin コンパイラ拡張機能(androidx.compose.compiler)は、Compose ライブラリのバージョンでなく、Kotlin コンパイラ プラグインのバージョンにリンクされており、Compose の他の部分とは異なる頻度でリリースされます。したがって、お使いの Kotlin バージョンと互換性のあるバージョンを使用してください。

👉 Using the Bill of Materials  |  Jetpack Compose  |  Android Developers hatena-bookmark

公式サンプルコードを少し変更したものを準備しておきます。


# libs.versions.toml

[libraries]
compose-ui-bom = { module = "androidx.compose:compose-bom", version = "2023.01.00" }


// build.gradle

dependencies {
  implementation platform(libs.compose.ui.bom)
}

👉 BOM to library version mapping  |  Jetpack Compose  |  Android Developers hatena-bookmark

 

■ 実装

実装としては、以下でいけました。


# libs.versions.toml

[libraries]

compose-ui-bom = { module = "androidx.compose:compose-bom", version = "2023.01.00"}
compose-material = { module = "androidx.compose.material:material" }
compose-material-icons = { module = "androidx.compose.material:material-icons-extended" }
compose-ui = { module = "androidx.compose.ui:ui" }
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }


// build.gradle

dependencies {

  // compose-ui
  implementation platform(libs.compose.ui.bom)
  implementation libs.compose.material
  implementation libs.compose.material.icons
  implementation libs.compose.ui
  implementation libs.compose.ui.tooling.preview

}

 

■ まとめ

BOM を使っていなかったのですが、エラーが出始めたので、使うことにしました。

「整合性の適正化」と「グループ化」の機能を持っている「BOM」は、Kotlin, Firebase などでも公開されています。

便利に利用するべきでしょう。

しかし、AndroidStudio のコレ。

JetpackCompose UI で BOM

「null」 の表示。

どうにかなりませんかね。

👉 今はまだ必要な Android ライブラリ の Bill of Materials(BOM) のURLs hatena-bookmark