Ejemplo n.º 1
0
        private async Task <TokenModel> LoginWithFacebook()
        {
            var fbTokenViewModel = new FacebookTokenViewModel {
                FacebookToken = AccessToken.CurrentAccessToken.Token
            };
            var bearerToken = await this.signInService.SignInUserWithFacebookToken(fbTokenViewModel);

            if (bearerToken != null)
            {
                preferenceHelper.SetSharedPreference <string>(SharedPreferencesKeys.BEARER_TOKEN, bearerToken.Token);
            }

            return(bearerToken);
        }
        public async Task <TokenModel> LoginWithFacebook(FacebookTokenViewModel facebookToken)
        {
            FacebookUserCredentialsResponse facebookResponse = await facebookApiManager.GetUserCredentials(facebookToken.FacebookToken);

            if (facebookResponse.email != null)
            {
                ApplicationUser user = await applicationUserManager.GetUserByEmail(facebookResponse.email);

                if (user == null)
                {
                    user = await CreateUser(facebookResponse);
                }
                return(GetToken(user));
            }
            throw new Exception("Facebook not returned email address");
        }
        public async Task <IActionResult> LoginWithFacebook([FromBody] FacebookTokenViewModel facebookToken)
        {
            try
            {
                var token = await this.applicationSignInManager.LoginWithFacebook(facebookToken);

                return(Json(token));
            }
            catch (Exception exc)
            {
                this.logger.LogError("Wystąpił błąd podczas logowania z facebookiem:" + exc);
                Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                return(Json(new ErrorResponse {
                    ErrorMessage = exc.Message
                }));
            }
        }
Ejemplo n.º 4
0
        private async Task <bool> SignInUser()
        {
            var userIsLogged = false;

            preferenceHelper = new SharedPreferencesHelper(this);
            var bearerToken = (string)preferenceHelper.GetSharedPreference <string>(SharedPreferencesKeys.BEARER_TOKEN);

            if (bearerToken != null)
            {
                userIsLogged = await signInService.SignInUserWithBearerToken(GetTokenModel());
            }
            if (!userIsLogged)
            {
                if (AccessToken.CurrentAccessToken != null && AccessToken.CurrentAccessToken.Token != null)
                {
                    var facebookToken = new FacebookTokenViewModel {
                        FacebookToken = AccessToken.CurrentAccessToken.Token
                    };
                    var tokenModel = await signInService.SignInUserWithFacebookToken(facebookToken);

                    if (tokenModel != null)
                    {
                        preferenceHelper.SetSharedPreference <string>(SharedPreferencesKeys.BEARER_TOKEN, tokenModel.Token);
                        if (tokenModel.UserHasToSetNickName)
                        {
                            throw new UserHasToSetNickNameException();
                        }
                        else
                        {
                            SharedPreferencesHelper.SetUserNameInAppSettings(this, tokenModel.UserName);
                        }
                        userIsLogged = true;
                    }
                }
            }

            return(userIsLogged);
        }
Ejemplo n.º 5
0
 public async Task <TokenModel> SignInUserWithFacebookToken(FacebookTokenViewModel facebookToken)
 {
     return(await GetTokenFromApi <FacebookTokenViewModel>(facebookToken, "LoginWithFacebook"));
 }