IEnumerator CheckAuth(RegisterComplete data, bool alreadySet = false) { WWW request = new WWW(CheckAuthURL + data.token); yield return(request); if (!string.IsNullOrEmpty(request.error)) { if (!string.IsNullOrEmpty(request.text)) { APIError errData = JsonUtility.FromJson <APIError>(request.text); SendErrorNotification(errData.error.message); } } else { // Set Player Prefs // user_id -> id (Int, Id of the account) // user_username -> savedUsername (String, username of the account) // user_token -> token (String, login token) // user_token_expireDate -> expire_date (String, token expire date) AuthComplete tokenDetails = JsonUtility.FromJson <AuthComplete>(request.text); if (!alreadySet) { SetUserData(data.id, savedUsername, tokenDetails.token, tokenDetails.expireDate); } LoadPostLoginLevel(); } }
/// <summary> /// On the <see cref="AuthenticateButton"/> click, generate an <see cref="API"/> object authenticated with the entered username, password, and database /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void AuthenticateButton_Click(object sender, EventArgs e) { Username = Username_Input.Text; Password = Password_Input.Text; Database = Database_Input.Text; try { api = new API(Username, Password, null, Database); await api.AuthenticateAsync(); MessageBox.Show("Successfully Authenticated\nSession Id:" + api.SessionId); AuthComplete?.Invoke(api, true); } catch (Exception err) { Program.ShowError(err); } }