[解決済み】Goの認証はどのように管理されているのでしょうか?[クローズド]
2022-04-12 08:35:02
質問
GoでRESTful APIやJSフロントエンドアプリを構築している方々は、どのように認証を管理していますか?何か特別なライブラリやテクニックを使っていますか?
この件に関する議論が少ないことに驚いています。私は以下のような回答を念頭に置き、自分自身の実装を開発しないように努めています。
皆さん、それぞれ別々にコーディングしているのでしょうか?
どのように解決するのか?
この質問にはたくさんのビューがあり、Popular Questionバッジもついています。ですから、このトピックには多くの潜在的な興味があり、多くの人がまったく同じことを質問しているのに、インターウェブ上で答えが見つかっていないことがわかります。
このような場合、「quot; exercise for the reader." 」として、手書きの波線に相当するテキストが残されています;)。
しかし、golang-nutsメーリングリストのメンバーが(寛大にも)提供してくれた1つの具体例をようやく見つけることができました。
https://groups.google.com/forum/#!msg/golang-nuts/GE7a_5C5kbA/fdSnH41pOPYJ
これは、カスタム認証の基礎となるスキーマとサーバーサイドの実装を提案するものです。クライアントサイドのコードは、まだあなた次第です。
(投稿者がこれを見てくれることを願っています: ありがとうございます!)
抜粋(そして再フォーマット)。
"以下のようなデザインを提案します。
create table User (
ID int primary key identity(1,1),
Username text,
FullName text,
PasswordHash text,
PasswordSalt text,
IsDisabled bool
)
create table UserSession (
SessionKey text primary key,
UserID int not null, -- Could have a hard "references User"
LoginTime <time type> not null,
LastSeenTime <time type> not null
)
- ユーザーがTLS下のPOSTでサイトにログインしたとき、パスワードが有効かどうかを判断します。
- その後、ランダムなセッションキー、例えば50文字以上の暗号化ランドを発行し、安全なCookieに詰め込みます。
- そのセッションキーをUserSessionテーブルに追加します。
- そして、そのユーザーを再び見たとき、まずUserSessionテーブルをヒットして、SessionKeyが有効なLoginTimeとLastSeenTimeとともにそこにあり、ユーザーが削除されていないことを確認します。タイマーが自動的にUserSession.quotの古い行をクリアするように設計することができます。
関連
-
[解決済み] Goでマップにキーが含まれているかどうかを確認するには?
-
[解決済み] Gitのプッシュで "Authentication Failed "と表示される
-
[解決済み] goで文字列の連結を効率的に行う方法
-
[解決済み] 認証と認可
-
[解決済み] JWT認証とOAuth認証の主な違いは何ですか?
-
[解決済み] JAX-RSとJerseyでRESTトークンベースの認証を実装する方法
-
[解決済み】RESTful 認証
-
[解決済み】Subversionでは、ログイン名以外のユーザーになることはできますか?
-
[解決済み] トークン認証とCookieの比較
-
[解決済み] マイクロサービス認証戦略
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] GET] "/users/sign_out" に一致するルートはありません。
-
[解決済み] Google OAuth 2 認証 - エラー: redirect_uri_mismatch
-
[解決済み] JWTにおける時間切れの問題
-
[解決済み] パスワードをデータベースに保存する最適な方法【終了しました
-
[解決済み] Google OAuth 2 認証 - エラー: redirect_uri_mismatch
-
[解決済み】node.jsのユーザー認証ライブラリは?
-
[解決済み】Goの認証はどのように管理されているのでしょうか?[クローズド]
-
[解決済み] Refresh Token "の目的は何ですか?
-
[解決済み] ステートレス(=セッションレス)認証の場合、CSRFトークンは必要ですか?
-
[解決済み] クロスドメイン認証のためのJWTを用いたシングルサインオンフロー