Drush user-login
前項でGoogle reCAPTCHAの設定を行い、正常に動作するかの確認のため、一旦ログアウトをして、端末を変更しログイン時にGoogle reCAPTCHAが動作して、確認処理を行うかのテストをしました。Google reCAPTCHAは正常に動作し簡単な計算処理の表示が出るのですが、肝心な計算問題が表示されず、答えだけを求められログイン出来なくなってしまいました。
管理画面にログインしないとGoogle reCAPTCHAの設定の確認や変更することが出来ません。このような状況になった際Drupalにはターミナルからの処理でワンタイムパスワードを発行し、応急的にログインを行い不具合を修正出来る便利なエマージェンシー機能が搭載されています。
Drupalのターミナルからの処理はDrushで行います。Drushのコマンドにuser-loginというコマンドが用意されておりこのコマンドでログインユーザー名や、登録メールを指定する事で、応急的にログイン出来るワンタイムパスワードとログイン用のURLを発行してくれます。このURLにはログイン出来ない原因となっているGoogle reCAPTCHAの不具合は影響しないのでこの処理にてログインを行い、Google reCAPTCHAの不具合の原因や設定の不具合を修正します。
実際のDrushの処理を以下にまとめています。
実際の処理
Drushのコマンド
--uidのオプションでuidを指定します。ここで1を指定しますが1は最初のユーザーでDrupal設定時に指定したadminユーザーになります。このユーザーは管理権限を持っていますので、このユーザーでのログインを行い、Google reCAPTCHAの不具合の原因や設定の不具合を修正して行きます。
// user-loginコマンド --ユーザーを指定 //
$ drush user-login --uid=1
// 発行されるワンタイムパスワード //
http://default/ja/user/1/12121212/ujg1h10Hc1(43桁の仮パスワード)/login
// default/ ここがドメイン/web/になります。 //
// 私のサイトだと //
https://drupal.hooked-on01.com/recommended-project/web/ja/user/1/12121212/ujg1h10Hc1(43桁の仮パスワード)/login
// User以降を繋げてブラウザにこのURLを入れると管理画面にログイン出来ます。 //
今回、Google reCAPTCHAが認証確認を必要とした際、確認にCAPTCHAが用意する確認方法が使われるのですが、この設定が設定されていない(デフォルト設定)状態だったので、Imageによる確認を指定します。確認のため、ログインフォームで表示されるかの確認もしましたが問題なく表示され、先ほどエラーを出していた簡単な計算処理ではなく、画像選択による指定が表示され、画面表示の指示通り間違いなく入力を行い、ログインを行うと問題なくログインする事が出来ました。
Drupalの優れた機能にDrushが用意されておりターミナルからの処理が比較的簡単に行えます。ブラウザからの処理に問題がある時などこのDrushを上手く活用することで問題解決をする事が出来ます。他にもカスタマイズを行ったりする際にも活用出来るので、後々私自身がカスタマイズなど今回の基本的な使い方以外の応用的な活用を行う事があれば記事にして行きたいと考えています。
Drushの公式WEBサイトに各コマンドのマニュアルがありますので私も必要な場合ここを参照しています。
--helpオプションもありますのでターミナルからのマニュアルも参照できますが、ブラウザでの確認の良さに、翻訳がありますので、英語が得意でなくても利用方法が理解出来ると思います。
Drush公式WEBサイト
https://www.drush.org/13.x/(Opens in a new tab/window)
Drush user_loginコマンドのマニュアル
https://www.drush.org/13.x/commands/user_login/(Opens in a new tab/window)
問題解決で感じた事
今回、レアなケースかもしれませんが、困った事態が発生し対応策が取れた事は非常に有意義な体験となりました。インストール時に出たエラーの解決などを含め感じた事に、Drupalのコミュニティは非常に活発かつ有益に機能している事は感じ取れるのですが、全く知識を持たない状況で見た際にとっつきにくいと感じたのは、今回の私のケースのように実際の使用ケースと問題点、それに対する解決方法という簡潔な起承転結的なチュートリアルがあまり見られない事があるのではと考えています。
簡単に言えば、user-loginはどういう事態で使うと便利なコマンドという説明ではなく、ターミナルから応急的なワンタイムパスワードを発行するコマンドという説明になっていて、知識のない人間が直面した不具合内容に対して解決するための機能はこれだという事を理解し解決策として選択する事が難しく、初めて使う方やこれから使ってみようという方の導入の障壁になっているのではないかと考えています。
これは、開発陣の情報配信は活発で機能面などの説明は積極的に行っているので、ある程度のリテラシーを持った利用者であればどう使いこなすという事がイメージ出来るのですが、その機能を利用して何が出来たか?どう問題を解決できたか?という情報(出来れば実際のケース)を利用者が発信していない事がユースケースの少なさに繋がり折角の優れた機能に触れる事ができず、導入を見送ってしまった方が多いのかなと感じています。
私自身がDrupalを使い始めてまだ日が浅く、機能面や実際の利用に関わる知識などを持たないのですが、オープンソースと言われる世界中の開発者がボランティアで開発し、誰でも無料で(必要あれば有料で望む形を構築)利用出来る素晴らしいDrupalを使用させてもらっているので、小規模な私のWEBサイトにおいての情報配信や、コミュニティに参加しての情報配信が何か役に立つ事が出来るのではないかと考える出来事でした。
Drupalの記事
関連するDrupalでWEBサイトを構築する為の環境構築の記事やDrupalについて書いた記事になります。
記事は全てナンバリングしています。Drupalを初めて使う為の準備から始まる最初の記事から読む事もできます。
Drupal記事
Life Style記事
最新の記事
Drupalについて書いた最新の記事になります。
#D30 Civic Theme 1.9.0 UpDate
#D29 Drupal Core Update
Life Styleの記事
Drupalとは関係ないのですがLife Styleの記事も書いていますのでよろしければ購読ください。