private void AuthCallback(ILoginResult result) { if (FB.IsLoggedIn) { // AccessToken class will have session details var aToken = AccessToken.CurrentAccessToken; FBAccessToken fbAccessToken = new FBAccessToken(); fbAccessToken.TokenString = aToken.TokenString; fbAccessToken.UserType = "Instructor"; StartCoroutine( HTTPClient.Post("/updateUser", JsonUtility.ToJson(fbAccessToken), statusCode => { if (statusCode == "200") { SceneManager.LoadScene("SetupMeditationRoom"); } else { HFTDialog.MessageBox("Authentication error", "Facebook authentication failed.", () => { Debug.Log("statusCode"); Debug.Log(statusCode); }); } }) ); } else { Debug.Log("Error"); Debug.Log(result); Debug.Log(result.Error); Debug.Log("User cancelled login"); } }
void AuthenticateSocket(SocketIOEvent e) { Debug.Log("[SocketIO] Authenticate received: " + e.name + " " + e.data); FBAccessToken fbAccessToken = new FBAccessToken(); fbAccessToken.TokenString = Facebook.Unity.AccessToken.CurrentAccessToken.TokenString; fbAccessToken.UserType = "Instructor"; socket.Emit("authenticate", new JSONObject(JsonUtility.ToJson(fbAccessToken))); }
private FBAccessToken GetFBAccessToken(SocialConfig socialConfig) { FBAccessToken model = null; try { var url = $"{FBUrlApi}/oauth/access_token?client_id={socialConfig.AppId}&client_secret={socialConfig.AppSecret}&grant_type=fb_exchange_token"; model = HttpExtension.Instance.InvokeGet <FBAccessToken>(url).Result; } catch (Exception ex) { CoreLogger.Instance.Error(this.CreateMessageLog(ex.Message)); } return(model); }
/// <summary> /// 取得FB使用者的Profile /// </summary> /// <param name="fBAccessToken"></param> /// <returns></returns> public async Task <FBUserProfile> GetProfile(FBAccessToken fBAccessToken) { var url = $"/me?access_token={fBAccessToken.access_token}"; var req = await Client.GetAsync(url); try { var bb = req.IsSuccessStatusCode; var data = await req.Content.ReadAsStringAsync(); var resData = JsonSerializer.Deserialize <FBUserProfile>(data); return(resData); } catch (System.Exception e) { throw e; } }