MCPcopy Index your code
hub / github.com/Threadfin/Threadfin / UserAuthentication

Function UserAuthentication

src/internal/authentication/authentication.go:213–246  ·  view source on GitHub ↗

UserAuthentication : user authentication

(username, password string)

Source from the content-addressed store, hash-verified

211
212// UserAuthentication : user authentication
213func 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
249func CheckTheValidityOfTheToken(token string) (newToken string, err error) {

Callers 5

basicAuthFunction · 0.92
urlAuthFunction · 0.92
WebFunction · 0.92
APIFunction · 0.92

Calls 5

checkInitFunction · 0.85
createErrorFunction · 0.85
SHA256Function · 0.85
setTokenFunction · 0.85
loginFunction · 0.50

Tested by

no test coverage detected