Пример #1
0
        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);
            }
        }
Пример #2
0
        ///// <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);
        }