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; }
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; }
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; }