ユーザー登録用のテーブルに保存するパスワードを暗号化する処理が未実装だったので追加しました。
以下の記事を参考にさせてもらいました。
コミットは以下になります。
新規作成したapi/common/hash.goでパスワード暗号化・復号化の処理を以下のように書いています。
復号化の処理はログイン時にユーザーが入力した平文のパスワードとDBに格納されている暗号化されたパスワードを比較するための関数です。
package common import "golang.org/x/crypto/bcrypt" // HashPassword パスワードを暗号化する func HashPassword(rawPassword string) (string, error) { hashedPassword, err := bcrypt.GenerateFromPassword([]byte(rawPassword), bcrypt.DefaultCost) return string(hashedPassword), err } // VerifyPassword 暗号化されたパスワードとユーザーが入力したパスワードを比較する func VerifyPassword(hashedPassword string, entryPassword string) error { // password := []byte(hashedPassword) err := bcrypt.CompareHashAndPassword([]byte(hashedPassword), []byte(entryPassword)) return err }
上記のコードで一通り想定通りに動作しました。