public Task <UserDetail> SignIn() { bool showLogin = true; var tcs = new TaskCompletionSource <UserDetail>(); var controller = GetController(); if (showLogin && OAuthConfig.User == null) { showLogin = false; //Create OauthProviderSetting class with Oauth Implementation .Refer Step 6 OAuthProviderSetting oauth = new OAuthProviderSetting(); var auth = oauth.LoginWithTwitter(); // After Twitter login completed auth.Completed += (sender, eventArgs) => { controller.DismissViewController(true, null); if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetail(); // Get and Save User Details OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.User.Name = eventArgs.Account.Username; tcs.SetResult(OAuthConfig.User); } else { tcs.SetResult(null); // The user cancelled } }; controller.PresentViewController(auth.GetUI(), false, null); } return(tcs.Task); }
public Task <UserDetail> SignIn() { bool showLogin = true; var activity = Forms.Context as Activity; var tcs = new TaskCompletionSource <UserDetail>(); if (showLogin && OAuthConfig.User == null) { showLogin = false; //Create OauthProviderSetting class with Oauth Implementation . OAuthProviderSetting oauth = new OAuthProviderSetting(); var auth = oauth.LoginWithTwitter(); // After Twitter login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetail { // Get and Save User Details Token = eventArgs.Account.Properties["oauth_token"], TokenSecret = eventArgs.Account.Properties["oauth_token_secret"], TwitterId = eventArgs.Account.Properties["user_id"], ScreenName = eventArgs.Account.Properties["screen_name"], Name = eventArgs.Account.Username }; tcs.SetResult(OAuthConfig.User); } else { tcs.SetResult(null); // The user cancelled } }; activity.StartActivity(auth.GetUI(activity)); } return(tcs.Task); }
protected override void OnElementChanged(ElementChangedEventArgs <Page> e) { base.OnElementChanged(e); //Get and Assign ProviderName from ProviderLoginPage var loginPage = Element as ProviderLoginPage; string providername = loginPage.ProviderName; var activity = this.Context as Activity; if (showLogin && OAuthConfig.User == null) { showLogin = false; //Create OauthProviderSetting class with Oauth Implementation .Refer Step 6 OAuthProviderSetting oauth = new OAuthProviderSetting(); if (providername == "Twitter") { var auth = oauth.LoginWithTwitter(); // After Twitter login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); } else { // The user cancelled } }; activity.StartActivity(auth.GetUI(activity)); } else { var auth = oauth.LoginWithProvider(providername); // After facebook,google and all identity provider login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); } else { // The user cancelled } }; activity.StartActivity(auth.GetUI(activity)); } } }
public override void ViewDidAppear(bool animated) { //Get and Assign ProviderName from ProviderLoginPage var loginPage = Element as ProviderLoginPage; string providername = loginPage.ProviderName; if (showLogin && OAuthConfig.User == null) { showLogin = false; //Create OauthProviderSetting class with Oauth Implementation .Refer Step 6 OAuthProviderSetting oauth = new OAuthProviderSetting(); if (providername == "Twitter Login") { var auth = oauth.LoginWithTwitter() ; //TwitterPage.twitterLoginTest = true; // After Twitter login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.ConsumerKey = eventArgs.Account.Properties["oauth_consumer_key"]; OAuthConfig.User.ConsumerSecret = eventArgs.Account.Properties["oauth_consumer_secret"]; OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); // Here i would like to assign values to PostNeed Class for Posting image purpose. I did it in Dependency service PostNeed.ConsumerKey = OAuthConfig.User.ConsumerKey; PostNeed.ConsumerSecret = OAuthConfig.User.ConsumerSecret; PostNeed.Token = OAuthConfig.User.Token; PostNeed.TokenSecret = OAuthConfig.User.TokenSecret; PostNeed.TwitterId = OAuthConfig.User.TwitterId; PostNeed.ScreenName = OAuthConfig.User.ScreenName; TwitterPage.twitterLoginTest = true; App.Current.MainPage = new TwitterPage(true); } else { // The user cancelled } }; PresentViewController(auth.GetUI(), true, null); } } }
protected override void OnElementChanged(ElementChangedEventArgs <Page> e) { base.OnElementChanged(e); //Get and Assign ProviderName from ProviderLoginPage var loginPage = Element as ProviderLoginPage; string providername = loginPage.ProviderName; var activity = this.Context as Activity; if (showLogin && OAuthConfig.User == null) { showLogin = false; //Create OauthProviderSetting class with Oauth Implementation .Refer Step 6 OAuthProviderSetting oauth = new OAuthProviderSetting(); if (providername == "Twitter Login") { var auth = oauth.LoginWithTwitter(); // After Twitter login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.ConsumerKey = eventArgs.Account.Properties["oauth_consumer_key"]; OAuthConfig.User.ConsumerSecret = eventArgs.Account.Properties["oauth_consumer_secret"]; OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); // Here i would like to assign values to PostNeed Class members for Posting image purpose. I did it in Dependency service ITwitterService.s PostNeed.ConsumerKey = OAuthConfig.User.ConsumerKey; PostNeed.ConsumerSecret = OAuthConfig.User.ConsumerSecret; PostNeed.Token = OAuthConfig.User.Token; PostNeed.TokenSecret = OAuthConfig.User.TokenSecret; PostNeed.TwitterId = OAuthConfig.User.TwitterId; PostNeed.ScreenName = OAuthConfig.User.ScreenName; TwitterPage.twitterLoginTest = true; App.Current.MainPage = new TwitterPage(true); } else { // The user cancelled } }; activity.StartActivity((Android.Content.Intent)auth.GetUI(activity)); } } }
public override void ViewDidAppear(bool animated) { base.ViewDidAppear(animated); //Get and Assign ProviderName from ProviderLoginPage var loginPage = Element as ProviderLoginPage; string providername = loginPage.ProviderName; if (showLogin && OAuthConfig.User == null) { showLogin = false; //Create OauthProviderSetting class with Oauth Implementation .Refer Step 6 OAuthProviderSetting oauth = new OAuthProviderSetting(); if (providername == "Twitter") { var auth = oauth.LoginWithTwitter(); // After Twitter login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); } else { // The user cancelled } }; PresentViewController(auth.GetUI(), true, null); } else { var auth = oauth.LoginWithProvider(providername); // After facebook,google and all identity provider login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); } else { // The user cancelled } }; PresentViewController(auth.GetUI(), true, null); } } }
private void LoginClick(object sendervalue, RoutedEventArgs e) { Button btnname = (Button)sendervalue; string providername = btnname.Content.ToString(); if (showLogin && OAuthConfig.User == null) { showLogin = false; //Create OauthProviderSetting class with Oauth Implementation .Refer Step 6 OAuthProviderSetting oauth = new OAuthProviderSetting(); if (providername == "Twitter") { var auth = oauth.LoginWithTwitter(); // After Twitter login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); } else { // The user cancelled } }; //Uri uri = auth.GetUI(); Type page_type = auth.GetUI(); //(System.Windows.Application.Current.RootVisual as PhoneApplicationFrame).Navigate(uri); this.Frame.Navigate(page_type, auth); } else { var auth = oauth.LoginWithProvider(providername); // After facebook,google and all identity provider login completed auth.Completed += (sender, eventArgs) => { if (eventArgs.IsAuthenticated) { OAuthConfig.User = new UserDetails(); // Get and Save User Details OAuthConfig.User.Token = eventArgs.Account.Properties["oauth_token"]; OAuthConfig.User.TokenSecret = eventArgs.Account.Properties["oauth_token_secret"]; OAuthConfig.User.TwitterId = eventArgs.Account.Properties["user_id"]; OAuthConfig.User.ScreenName = eventArgs.Account.Properties["screen_name"]; OAuthConfig.SuccessfulLoginAction.Invoke(); } else { // The user cancelled } }; auth.Error += Auth_Error; auth.BrowsingCompleted += Auth_BrowsingCompleted; //Uri uri = auth.GetUI(); Type page_type = auth.GetUI(); //(System.Windows.Application.Current.RootVisual as PhoneApplicationFrame).Navigate(uri); this.Frame.Navigate(page_type, auth); } } }