# HTTP APIs for Account and Password Management (2023/06/06 update) ## 架設環境 1. 至GitHub clone 專案repository到本地資料夾,於command line輸入以下指令 `git clone https://github.com/yujen77300/API-test.git` 2. 安裝Docker。 參考[Docker官方文件](https://docs.docker.com/engine/install/),依據自己的作業系統安裝Docker engine 3. 於command line, cd到專案在本地的資料夾位置,下圖為此次範例的位置  5. 輸入以下docker-compose指令,其會自動到Docker hub pull啟動專案所需要的image,並同時run起api、db、redis三個containers。 `docker-compose -f docker-compose.yml up`  5. 待出現以下畫面(約需2~3分鐘),代表已經啟動此專案,接著可以透過Postman測試api  ## API操作 除了作業要求的創建帳號、和驗證帳號密碼兩個API之外,另外設計取得使用者帳號和刪除使用者帳號等API,讓使用者更方便做測試,以下分別介紹各API之實作方法。 ### 1. Create Account 使用者必須輸入username和password,規則如下 * 帳號至少3碼,至多32碼 * 密碼至少8碼,至多32碼,且須包含至少一個大寫字母,一個小寫字母和一個數字。  (密碼9碼,但未包含小寫英文字母,因此出現錯誤) 如帳號已存在,出現以下錯誤  如輸入成功畫面如下  #### 使用者密碼經過雜湊和加鹽(2023/06/06 更新) 可登入MySQL 查看使用者密碼是否經故雜湊 1. 用 `docker ps` 查詢MySQL的Container ID 2. 輸入 `docker exec -it <<Container ID>> mysql -u user`,進入資料庫 3. 輸入密碼 1qaz@WSX 4. 依序輸入sql指令,`use senaoapi`、`select * from users` 5. 確認密碼已經過雜湊  ### 2. Verify Account and Password 此API為驗證使用者帳號密碼,當同一個帳號輸入密碼超過五次,會鎖定一分鐘不能再嘗試輸入密碼。 如帳號未存在,出現以下錯誤  如帳號存在,密碼輸入錯誤會出現以下畫面  同一個帳號輸入超過五次會鎖定一分鐘  驗證成功之畫面  ### 3. Get all users 取得目前所有使用者的資訊  ### 4. Get specific user 根據id 取得特定使用者的資訊  ### 5. Delete user 根據id 刪除使用者的資訊 刪除id=2的使用者  再檢視全部的使用者,確定id=2的使用者已經被刪除  ## Reference 1. [API document](https://app.swaggerhub.com/apis/YUJENHUANG24/SenaoAssignment/1.0.0)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up