Esempio n. 1
0
        public override void TryAuth(params object[] args)
        {
            if (TryExtractProvider(args, out SocialProvider provider))
            {
                SetListener();
                _requestedProvider = provider;

                try
                {
                    using (var sdkHelper = new AndroidSDKSocialAuthHelper())
                    {
                        sdkHelper.PerformSocialAuth(provider);
                    }

                    Debug.Log("AndroidSocialAuth.SocialNetworkAuth: auth request was sent");
                }
                catch (Exception ex)
                {
                    Debug.LogError($"AndroidSocialAuth.SocialNetworkAuth: {ex.Message}");
                    RemoveListener();
                    base.OnError?.Invoke(new Error(errorMessage: "Social auth failed"));
                }
            }
            else
            {
                Debug.LogWarning("AndroidSocialAuth.TryAuth: Could not extract argument");
                base.OnError?.Invoke(new Error(errorMessage: "Social auth failed"));
            }
        }
        private void TryRefreshAndroidSocial()
        {
            using (var helper = new AndroidSDKSocialAuthHelper())
            {
                if (!helper.IsRefreshSocialTokenPossible)
                {
                    Debug.Log("Android social token refresh is not available at the moment");
                    IsOAuthTokenRefreshInProgress = false;
                    return;
                }

                Action <string> onSuccessRefresh = newToken =>
                {
                    var surrogateResponse = new LoginOAuthJsonResponse()
                    {
                        access_token  = newToken,
                        expires_in    = ANDROID_TOKEN_REFRESH_RATE,
                        refresh_token = string.Empty,
                    };

                    ProcessOAuthResponse(surrogateResponse);
                };

                Action <Error> onError = error =>
                {
                    if (error != null)
                    {
                        Debug.LogError(error.errorMessage);
                    }

                    IsOAuthTokenRefreshInProgress = false;
                };

                IsOAuthTokenRefreshInProgress = helper.TryRefreshSocialToken(onSuccessRefresh, onError);
            }
        }