UserAuthentication : user authentication
(username, password string)
| 211 | |
| 212 | // UserAuthentication : user authentication |
| 213 | func UserAuthentication(username, password string) (token string, err error) { |
| 214 | |
| 215 | err = checkInit() |
| 216 | if err != nil { |
| 217 | return |
| 218 | } |
| 219 | |
| 220 | var login = func(username, password string, loginData map[string]interface{}) (err error) { |
| 221 | err = createError(010) |
| 222 | |
| 223 | var salt = loginData["_salt"].(string) |
| 224 | var loginUsername = loginData["_username"].(string) |
| 225 | var loginPassword = loginData["_password"].(string) |
| 226 | |
| 227 | if SHA256(username, salt) == loginUsername { |
| 228 | if SHA256(password, salt) == loginPassword { |
| 229 | err = nil |
| 230 | } |
| 231 | } |
| 232 | |
| 233 | return |
| 234 | } |
| 235 | |
| 236 | var users = data["users"].(map[string]interface{}) |
| 237 | for id, loginData := range users { |
| 238 | err = login(username, password, loginData.(map[string]interface{})) |
| 239 | if err == nil { |
| 240 | token = setToken(id, "-") |
| 241 | return |
| 242 | } |
| 243 | } |
| 244 | |
| 245 | return |
| 246 | } |
| 247 | |
| 248 | // CheckTheValidityOfTheToken : check token |
| 249 | func CheckTheValidityOfTheToken(token string) (newToken string, err error) { |
no test coverage detected