Authenticator)を導入するお話プログラミングfacebooktwitter最近はログインID/PW方式だけではセキュリティ的に厳しいと言うことで様々な認証方式が使われています。Password)を用いた認証方式が増えてきています。YoutubeChannelのご紹介なんかめちゃくちゃ大変そう...専用サーバーが必要とか色々大変そうに思いますよね。ところがGoogleはこのあたりの仕様を公開しており、それを使ったライブラリが公開されているので簡単に実装ができます。認証システム」を使用します。Android版はこちらiOS版はこちら「PHPGangsta/GoogleAuthenticator」をインストールする使うライブラリは「PHPGangsta/GoogleAuthenticator」と呼ばれるものです。インストールです方法ですが、以前に導入した「Composer」を使います。phpgangsta/googleauthenticator:dev-masterこれでインストールができます。PHPで実装するそれでは実装します。最低限の実装ですのでバリデーションチェックとかは入れてません。処理も簡単なので最初から全部出します。本来はユーザーごとにsecretを発行してDBなどに保存し、最初のログイン処理で$secretを呼び出す。ない場合は「$ga->createSecret();」で生成して保存します。コードを入力された場合はvarifyCodeで認証する。本来はユーザーごとにsecretを発行してDBなどに保存し、最初のログイン処理で$secretを呼び出す。ない場合は「$ga->createSecret();」で生成して保存します。コードを入力された場合はvarifyCodeで認証する。tolerance}大前提として「2段階認証」と言うことで本当はログイン後にこの処理を入れてください。流れとしては「通常のログイン画面」→「ログイン完了後にOTP認証」→「認証後に画面遷移」となります。HTML表示部は以下の感じです。>タグで指定すると、QRコードが生成されます。このQRコードを「Google認証システム」で読み取ると、6桁のコードが表示されるので、そのコードを入力してもらい、認証ボタンを押すことで判定します。ここでは「認証OK」「認証NG」と表示していますが、実際はPHP側で判定を行い、処理を行います。実際にどういう場面で使う?実装は簡単ですし、導入するだけでログインセキュリティは上がると思います。今ある会員ログインシステムがあるとすると、設定画面から「2段階認証」機能を作りONにした場合は$secretを発行してQRコードを表示し、「Google認証システム」に登録して認証できたら使用可能という感じでしょうか私が思った懸念事項は2点スマホサイトやアプリの場合、アプリやブラウザと「Google認証システム」を行ったり来たりするので、少しめんどくさくなる機種変更などで「Google認証システム」を初期化した場合、2段階認証が行えなくなり、解除もできなくなるですね。後者に関しては「強制解除」のフローを作っておかないと、ログインも解除もできなくなるので、大変なことになります。一応前述のスクウェア・エニックスのOTPでは「強制解除コード」を発行して、これを入力することで2段階認証を解除することができます。解除コードを忘れた場合は運営に問い合わせることで解除することができますが、これは時間がかかりますね。いえ、使い方によっては実装の割にログインセキュリティは飛躍的に上がるので、検討の価値はありそうです。同様の内容を、動画でご覧になれます。※この記事は2024年10月現在の情報です。※この記事は2024年10月現在の情報です。※この記事は2024年10月現在の情報です。(エイトビット)東京都目黒区でWebサイト制作、Webシステム開発などを行っております。コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。見積りシミュレーションをご用意いたしました。※この記事は2024年10月現在の情報です。※この記事は2024年10月現在の情報です。※この記事は2024年10月現在の情報です。※この記事は2024年10月現在の情報です。WordPressでも利用することは可能ですが、WordPressはセッション関数を推奨していません。