public void FacebookLogin([FromQuery] FacebookOauthModel facebookOauth) { string Uri = string.Empty; try { #region --登入發生錯誤-- if (false) { //TODO:錯誤處理 Uri = "/Home/Error"; } #endregion else { FacebookLoginBLL facebookLoginBLL = new FacebookLoginBLL(_settings, _resultModel, _httpClientFactory); facebookLoginBLL.GetFacebookAccountToken(facebookOauth); //LineProfile Data = lineLoginBLL.GetLineAccount(lineAuthorize); //_sessionHelper.SetSession("Nickname", Data.displayName); Uri = "/Home/Wellcome"; } } catch (Exception ex) { Uri = "/Home/Error"; } finally { Response.Redirect(Uri); } }
///// <summary> ///// 取得Line會員資料 ///// </summary> ///// <param name="lineAuthorize"></param> ///// <returns></returns> //public LineProfile GetLineAccount(LineAuthorizeModel lineAuthorize) //{ // LineLoginProjectSetting lineSetting; // if (true) // { // lineSetting = _line.LineLogin.RightTY; // } // LineTokenModel lineTokenModel = GetLineAccountToken(lineAuthorize, lineSetting); // HttpClientHelper<LineProfile> httpClientHelper = new HttpClientHelper<LineProfile>(_httpClientFactory); // httpClientHelper.SetHeaders("Authorization", "Bearer " + lineTokenModel.Access_Token); // return httpClientHelper.SendAsync(HttpMethod.Get, lineSetting.Profile.ProfileUri.ToString()); //} /// <summary> /// 取得Line會員Access_Token /// </summary> /// <param name="facebookOauth">FacebookOauthModel</param> /// /// <param name="facebookSetting">FacebookLoginProject</param> /// <returns></returns> public FacebookTokenModel GetFacebookAccountToken(FacebookOauthModel facebookOauth) { FacebookLoginProjectSetting facebookSetting = _facebook.FacebookLogin.RightTY; Dictionary <string, string> dic = new Dictionary <string, string>() { { "client_id", facebookSetting.ClientId }, { "redirect_uri", facebookSetting.Token.RedirectUri.ToString() }, { "client_secret", facebookSetting.ClientSecret }, { "code", facebookOauth.Code } }; HttpClientHelper <FacebookTokenModel> httpClientHelper = new HttpClientHelper <FacebookTokenModel>(_httpClientFactory); FacebookTokenModel facebookTokenModel = httpClientHelper.SendAsync(HttpMethod.Get, facebookSetting.Token.TokenUri.ToString(), dic); return(facebookTokenModel); }