Beispiel #1
0
        public void OAuthCallback(string code, string realmId, string state, string error)
        {
            if (string.IsNullOrEmpty(error))
            {
                RealmId = realmId;

                // Use the request token and auth verifier to get an access token
                try
                {
                    // Get OAuth2 Bearer token
                    var tokenResponse = oauthClient.GetBearerTokenAsync(code).Result;

                    AccessToken          = tokenResponse.AccessToken;
                    RefreshToken         = tokenResponse.RefreshToken;
                    AccessTokenExpiresIn = tokenResponse.RefreshTokenExpiresIn;

                    if (IppOAuthResultEvent != null)
                    {
                        IppOAuthResultEvent.Invoke(AccessToken, RefreshToken, AccessTokenExpiresIn, RealmId, state);
                    }
                    Task.Run(() =>
                    {
                        Task.Delay(2000).Wait();
                        Clean();
                    });
                }
                catch (Exception ex)
                {
                    Clean();
                    throw ex;
                }
            }
            else
            {
                if (IppOAuthErrorEvent != null)
                {
                    IppOAuthErrorEvent.Invoke(error, state);
                }
                Task.Run(() =>
                {
                    Task.Delay(2000).Wait();
                    Clean();
                });
            }
        }
        internal async void oAuthCallback(string code, string state, string realmId)
        {
            // the controller calls this when it has the code so it can get the token

            try {
                OAuth2Client  client = GetoAuthClient();
                TokenResponse result = await client.GetBearerTokenAsync(code);

                this.AccessToken  = result.AccessToken;
                this.RefreshToken = result.RefreshToken;
                IppOAuthResultEvent.Invoke(this.AccessToken, this.RefreshToken);

                await Task.Run(
                    () => {
                    Task.Delay(2000).Wait();
                    CleanUp();
                });
            }
            catch (Exception ex) {
                CleanUp();
                throw ex;
            }
        }
        public void OAuthCallback(string verifier, string realmId, string dataSource)
        {
            RealmId    = realmId;
            DataSource = dataSource;

            // Retrieve the request token saved earlier
            IToken theToken = _requestToken;

            // Use the request token and auth verifier to get an access token
            IOAuthSession clientSession = CreateSession();

            try
            {
                IToken accessToken = clientSession.ExchangeRequestTokenForAccessToken(theToken, verifier);
                AccessToken       = accessToken.Token;
                AccessTokenSecret = accessToken.TokenSecret;

                IppOAuthResultEvent.Invoke(AccessToken, AccessTokenSecret, RealmId, DataSource);
#if NET40
                ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object state)
                {
                    Thread.Sleep(2000);
                    Clean();
                }));
#else
                Task.Run(() => {
                    Task.Delay(2000).Wait();
                    Clean();
                });
#endif
            }
            catch (Exception ex)
            {
                Clean();
                throw ex;
            }
        }