GoCondorの認証に組み込まれている


GoCondor 内蔵のユーザーの認証機能が付属してauthentication インconfig.features.go 確かに、それはregistration , login , and logout ルートプラスヘルパーパッケージauth あなたが認証されたユーザーをチェックして、彼らの上で他の行動をするのを援助するために.

認証機能の使用
認証機能を使用するには、次のフラグを設定する必要がありますconfig/features.go to true
  • Database
  • Sessions
  • Authentication

  • 路線
    彼らの論理で定義された3つのルートがあります
  • ポスト=>/register , ユーザー登録を行うには、次のフィールドを受け取ります.
  • name
  • email
  • password
  • ポスト=>/login , ユーザをログインするには、以下のようにします.
  • email
  • password
  • It returns jwt トークンとjwt refresh token レスポンスでjwt トークンは認証される必要があるリクエストごとに送らなければなりません.Authorization キーとしてbearer: the-user-token 値として.
    サンプルレスポンス:
    {
        "data": {
            "refreshToken": "eyJhbGciSiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjA1MDUwMjMsInVzZXJJRCI6NX0.JuIzV3it-FyK-yXkFUB4PfxX0zqFACFuG-ysfGvOWJE",
            "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE2MjA0MjIyMjMsInVzZXcJRCI6NX0.56GjsF9Px9nAlfbYVBMmphLMEDRVI5NeqJ9NghWksI8"
        }
    }
    
  • ゲット=>/logout , ユーザをログ出力するには、jwt ヘッダ内のトークン

  • 登録へのフィールドの追加
    登録にフィールドを追加するには、1つの簡単な変更を行う必要がありますmodels/user.go そして、すべてのものが自動的にあなたの世話をされます.

    論理の更新
    あなたが論理への変更をする必要があるならば、ファイルは中にありますhttp/authentication
    ユーザがログインしているかどうかを調べる
    ここでは、ユーザーがログインしているかどうかを確認できます.
    func SomeHandler(c *gin.Context) {
        Auth := auth.Resolve()
        ok, err := Auth.Check(c)
        if ok {
            // user is logged in
        }
    }
    

    ユーザIDにログインする
    ここでは、認証されたユーザーのIDを取得する方法です
    func SomeHandler(c *gin.Context) {
        Auth := auth.Resolve()
        userID, err := Auth.UserID(c)
    }