private IEnumerator WaitThenOpen(ClaimData responce) { yield return(new WaitForSeconds(0.5f)); string claimSanitized = UnityWebRequest.EscapeURL(responce.claimToken); string openUrl = url + "/externalSignIn?claimToken=" + claimSanitized; Application.OpenURL(openUrl); pollClaim(responce.claimToken); }
private void onLoginClick() { urlTitle.gameObject.SetActive(false); urlInput.gameObject.SetActive(false); warningInfo.gameObject.SetActive(false); newSession.gameObject.SetActive(false); connectionInfo.gameObject.SetActive(true); loadingCircle.gameObject.SetActive(true); // Content of the body is ignored byte[] emptyBody = Serial.toBSON(new { }); url = urlInput.text.Trim('/'); StartCoroutine(HTTPHelpers.post(url + "/api/v1/authentication/claims?bson=true", emptyBody, string.Empty, (data) => { openingInfo.gameObject.SetActive(true); connectionInfo.gameObject.SetActive(false); try { ClaimData responce = Serial.fromBSON <ClaimData>(data); StartCoroutine(WaitThenOpen(responce)); } catch (Exception e) { sessionInfo.text = "Error deserializing BSON response: " + e; Debug.Log(e); newSession.gameObject.SetActive(true); } }, (error) => { showError(error); }) ); }