PrefKarafuto / ex0ch

EXぜろちゃんねる ー ぜろちゃんねるプラスに便利な機能を追加していくプロジェクト
https://prefkarafuto.github.io
Other
51 stars 8 forks source link

認証についての改善提案 #65

Open frictionsmooth opened 1 year ago

frictionsmooth commented 1 year ago

EX0chの認証機能についての改善提案です。 現在の認証機能は書き込みの度に認証が必要でかなり不便です。 ですので以下を提案させていただきます。

PrefKarafuto commented 1 year ago

Turnstileは調べて見ましたがかなりいいですね これなら手間もかからずユーザビリティも良好です

PrefKarafuto commented 12 months ago

移行はかなり簡単なようですね https://developers.cloudflare.com/turnstile/migration/migrating-from-hcaptcha/

PrefKarafuto commented 11 months ago

現時点での構想 ・忍法帖と統合すると余計なユーザートラッキングが生じるので、あくまで別個で、管理画面の設定で併用も可という仕組みにする ・/infoフォルダ下に/.authフォルダを用意し、認証コードとセッションIDを結びつけるハッシュテーブルAと、セッションIDと有効期限を結びつけるハッシュテーブルBの二つを設定 ・テーブルBにユーザーのセッションIDが無ければ未認証とする ・認証は別ページで、hCaptcha若しくはTurnstileを管理画面で設定 ・認証に成功したらセッションIDとセキュリティキーのクッキーを発行し、認証コードを認証ページの画面に表示、ここでテーブルAを、有効期限を認証から数分間で設定 ・ユーザーが書き込み画面に戻り、認証コードをメール欄に!auth:xxxxxxxxのような形で入力、確認 ・コードを確認し、期限内であればテーブルBを1ヶ月の有効期限とともに設定し、クッキーにセッションIDとセキュリティキーを出力

frictionsmooth commented 11 months ago

私がコードを書くにあたって変更の相談したいことがあるのですが

・ユーザーが書き込み画面に戻り、認証コードをメール欄に!auth:xxxxxxxxのような形で入力、確認

これに関してはauthxxxxxxxxに変更してもいいでしょうか 理由としては記号があるとスマホでコピーがしづらくなるとの意見が私に寄せられたので。

認証ページ(php)については、レイアウトや認証コード作成の処理等がありますので、仮実装したものをお渡しします。 そちらで最終調整をお願いします。 よろしくお願いいたします。

frictionsmooth commented 11 months ago

すみません。追加です。

・認証に成功したらセッションIDとセキュリティキーのクッキーを発行し、認証コードを認証ページの画面に表示、ここでテーブルAを、有効期限を認証から数分間で設定

ここなんですが、認証ページ側でcookieの処理をしても大丈夫なのでしょうか。 対応していないブラウザがあるような。 認証コード入力時に処理の方がいいですかね。

PrefKarafuto commented 11 months ago

基本は認証コードを入力させる感じですね あくまでcookieの情報は対応している場合のみの処理簡略化オプションみたいな

frictionsmooth commented 9 months ago

私が時間かかりすぎてそちらで実装予定らしく申し訳ないです。

PrefKarafuto commented 9 months ago

認証はとりあえず忍法帖で行きます

PrefKarafuto commented 5 months ago

忍法帖に依存しない形の認証を試験的に実装