private void Login(HolisticWare.Auth.OAuth1 oauth1)
        {
            global::Xamarin.Auth._MobileServices.OAuth1Authenticator auth =
                new global::Xamarin.Auth._MobileServices.OAuth1Authenticator
                (
                    consumerKey: oauth1.OAuth_IdApplication_IdAPI_KeyAPI_IdClient_IdCustomer,
                    consumerSecret: oauth1.OAuth1_SecretKey_ConsumerSecret_APISecret,
                    requestTokenUrl: oauth1.OAuth1_UriRequestToken,
                    authorizeUrl: oauth1.OAuth_UriAuthorization,
                    accessTokenUrl: oauth1.OAuth1_UriAccessToken,
                    callbackUrl: oauth1.OAuth_UriCallbackAKARedirect,
                    getUsernameAsync: null
                );

            auth.Completed += auth_Completed;

            //PresentViewController (auth.GetUI (), true, null);

            Uri uri = auth.GetUI();
            var rv  = System.Windows.Application.Current.RootVisual;

            Microsoft.Phone.Controls.PhoneApplicationFrame paf = null;

            paf = rv as Microsoft.Phone.Controls.PhoneApplicationFrame;
            paf.Navigate(uri);

            return;
        }
        public void Login()
        {
            base.UpdateLayout();

            if (!IsShown)
            {
                IsShown = true;

                // TODO: polymorfic
                HolisticWare.Auth.OAuth1 oauth1 = this.OAuth as HolisticWare.Auth.OAuth1;
                HolisticWare.Auth.OAuth2 oauth2 = this.OAuth as HolisticWare.Auth.OAuth2;

                if (null != oauth1)
                {
                    Login(oauth1);
                    return;
                }

                if (null != oauth2)
                {
                    Login(oauth2);
                    return;
                }

                throw new ArgumentOutOfRangeException("Unknown OAuth");

                /*
                 *
                 */
            }
            return;
        }
        public override void ViewDidAppear(bool animated)
        {
            base.ViewDidAppear(animated);

            if (!IsShown)
            {
                IsShown = true;

                // TODO: polymorfic
                HolisticWare.Auth.OAuth1 oauth1 = this.OAuth as HolisticWare.Auth.OAuth1;
                HolisticWare.Auth.OAuth2 oauth2 = this.OAuth as HolisticWare.Auth.OAuth2;

                if (null != oauth1)
                {
                    Login(oauth1);
                    return;
                }

                if (null != oauth2)
                {
                    Login(oauth2);
                    return;
                }

                throw new ArgumentOutOfRangeException("Unknown OAuth");

                /*
                 *
                 */
            }
            return;
        }
        partial void SetPublicDemoDataTwitterOAuth1()
        {
            oauth1 = new HolisticWare.Auth.OAuth1()
            {
                OAuth_IdApplication_IdAPI_KeyAPI_IdClient_IdCustomer = "",
                OAuth1_SecretKey_ConsumerSecret_APISecret            = "",
                OAuth1_UriRequestToken       = new Uri("https://api.twitter.com/oauth/request_token"),
                OAuth_UriAuthorization       = new Uri("https://api.twitter.com/oauth/authorize"),
                OAuth_UriCallbackAKARedirect = new Uri("http://xamarin.com"),
                OAuth1_UriAccessToken        = new Uri("https://api.twitter.com/oauth/access_token"),
            };

            return;
        }
        partial void SetPublicDemoDataLinkedInOAuth1()
        {
            oauth1 = new HolisticWare.Auth.OAuth1()
            {
                OAuth_IdApplication_IdAPI_KeyAPI_IdClient_IdCustomer = "",
                OAuth1_SecretKey_ConsumerSecret_APISecret            = "",
                OAuth1_UriRequestToken       = new Uri("https://api.linkedin.com/uas/oauth/requestToken"),
                OAuth_UriAuthorization       = new Uri("https://api.linkedin.com/uas/oauth/authorize"),
                OAuth_UriCallbackAKARedirect = new Uri("http://xamarin.com"),
                OAuth1_UriAccessToken        = new Uri("https://api.linkedin.com/uas/oauth/accessToken"),
            };

            page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth1);

            return;

            return;
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Page> e)
        {
            base.OnElementChanged(e);

            // OnElementChanged is fired before ViewDidAppear, using it to pass data

            PageLogin e_new = e.NewElement as PageLogin;

            this.OAuth = e_new.OAuth;

            // PageRenderer is a ViewGroup - so should be able to load an AXML file and FindView<>
            activity = this.Context as Activity;

            if (!IsShown)
            {
                IsShown = true;

                // TODO: polymorfic
                HolisticWare.Auth.OAuth1 oauth1 = this.OAuth as HolisticWare.Auth.OAuth1;
                HolisticWare.Auth.OAuth2 oauth2 = this.OAuth as HolisticWare.Auth.OAuth2;

                if (null != oauth1)
                {
                    Login(oauth1);
                    return;
                }

                if (null != oauth2)
                {
                    Login(oauth2);
                    return;
                }

                throw new ArgumentOutOfRangeException("Unknown OAuth");

                /*
                 *
                 */
            }
            return;

            return;
        }
Esempio n. 7
0
        private void Login(HolisticWare.Auth.OAuth1 oauth1)
        {
            global::Xamarin.Auth.OAuth1Authenticator auth =
                new global::Xamarin.Auth.OAuth1Authenticator
                (
                    consumerKey: oauth1.OAuth_IdApplication_IdAPI_KeyAPI_IdClient_IdCustomer,
                    consumerSecret: oauth1.OAuth1_SecretKey_ConsumerSecret_APISecret,
                    requestTokenUrl: oauth1.OAuth1_UriRequestToken,
                    authorizeUrl: oauth1.OAuth_UriAuthorization,
                    accessTokenUrl: oauth1.OAuth1_UriAccessToken,
                    callbackUrl: oauth1.OAuth_UriCallbackAKARedirect,
                    getUsernameAsync: null
                );

            auth.Completed += auth_Completed;

            activity.StartActivity(auth.GetUI(activity));

            return;
        }
Esempio n. 8
0
        public void OnItemSelected(object sender, ItemTappedEventArgs args_tapped)
        {
            object item = args_tapped.Item;

            KeyValuePair <string, string> kvp = (KeyValuePair <string, string>)item;

            string authentication_provider = kvp.Value;

            oauth1 = null;
            oauth2 = null;

            switch (authentication_provider)
            {
            case "Google OAuth2":
                SetPublicDemoDataGoogleOAuth2();
                SetSensitiveDataGoogleOAuth2();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth2);

                break;

            case "Facebook OAuth2":
                SetPublicDemoDataFacebookOAuth2();
                SetSensitiveDataFacebookOAuth2();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth2);

                break;

            case "Twitter OAuth1":
                SetPublicDemoDataTwitterOAuth1();
                SetSensitiveDataTwitterOAuth1();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth1);

                break;

            case "Microsoft Live OAuth2":
                SetPublicDemoDataMicrosoftLiveOAuth2();
                SetSensitiveDataMicrosoftLiveOAuth2();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth2);

                break;

            case "Instagram OAuth2":
                SetPublicDemoDataInstagramOAuth2();
                SetSensitiveDataInstagramOAuth2();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth2);

                break;

            /*
             * case "LinkedIn OAuth1":
             * SetPublicDemoDataLinkedInOAuth1();
             * SetSensitiveDataLinkedInOAuth1();
             *
             * page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth1);
             *
             * break;
             */
            case "LinkedIn OAuth2":
                SetPublicDemoDataLinkedInOAuth2();
                SetSensitiveDataLinkedInOAuth2();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth2);

                break;

            case "Github OAuth2":
                SetPublicDemoDataGithubOAuth2();
                SetSensitiveDataGithubOAuth2();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth2);

                break;

            case "Youtube OAuth2":
                SetPublicDemoDataYoutubeOAuth2();
                SetSensitiveDataYoutubeOAuth2();

                page = new HolisticWare.XamarinForms.Authentication.PageLogin(oauth2);

                break;

            default:
                string msg = "Unknown Authentication Provider: " + authentication_provider;
                throw new NotImplementedException(msg);
            }

            this.Navigation.PushAsync(page);

            return;
        }